【问题标题】:Is it not possible to obtain a handle from a thread ID?不能从线程 ID 中获取句柄吗?
【发布时间】:2013-11-05 01:17:26
【问题描述】:

在经典著作《Win32 中的多线程应用程序》第 31 页,有如下说法:

为了加强安全性,不可能从 线程 ID。

但是,我知道有一个众所周知的 API,即OpenThread,可以完成这项工作。

这是本书的错误吗?

【问题讨论】:

  • This book 发表于 1996 年;早在添加function you mention 的Windows XP/2003 之前。我肯定会建议考虑买一本新书。
  • @Andrew,您能否对答案发表评论?我会选择它作为答案。
  • 评论作为答案发布! :)

标签: windows multithreading winapi visual-c++ handle


【解决方案1】:

有问题的书Multithreading Applications in Win32 出版于1996 年,早于OpenThread() 功能可用的操作系统。所以,这本书已经过时了。


上面的 MSDN 链接说 OpenThread() 需要 WindowsXP/2003。然而,正如Luke 在下面的评论中指出的那样,这个功能似乎也在 Windows 2000 中。(这仍然早于有问题的书,但我认为值得澄清。

参考文献:

  1. OpenThread returns null Win32
  2. re: OpenThread
  3. Win32::API error - OpenThread

【讨论】:

  • OpenThread 存在于 Windows 2000 中,但您的观点仍然成立。不幸的是,微软正在像这样擦洗 MSDN 文档。
  • @Luke 我找到了一些相关信息并将其添加到答案中。感谢您的提醒!
猜你喜欢
  • 2016-05-08
  • 2023-03-29
  • 2014-09-29
  • 2011-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 2013-10-21
相关资源
最近更新 更多