2013-11-05 22 views
1

在經典書籍「在Win32中多線程應用程序」,在第31頁,有如下語句:從線程ID獲取句柄是不可能的?

爲了加強安全性,它是不可能從 線程ID獲取句柄。

但是,我知道有一個衆所周知的API,即OpenThread,可以完成這項工作。

這是本書的錯誤嗎?

+6

[本書](http://www.amazon.com/Multithreading-Applications-Win32-Complete -Threads/dp/0201442345)於1996年出版;早在Windows XP/2003之前已經添加了[你提到的功能](http://msdn.microsoft.com/en-us/library/windows/desktop/ms684335(v = vs.85).aspx)。我肯定會推薦考慮購買一本新書。 –

+0

@Andrew,你可以給你的評論一個答案?我會選擇它作爲答案。 – xmllmx

+0

發表評論爲答案! :) –

回答

5

有問題的書Multithreading Applications in Win32發佈於1996年,早於功能可用的操作系統。所以,這本書已經過時了。


上面的MSDN鏈接說OpenThread()需要WindowsXP/2003。然而,正如Luke在下面評論指出,看來這個功能也是在Windows 2000中(這還是早的書有問題,但我認爲它值得澄清

參考文獻:

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

OpenThread出現在Windows 2000中,但你的觀點仍然存在。不幸的是,微軟正在清理這樣的MSDN文檔。 – Luke

+0

@Luke我找到了一些相關的信息,並將其添加到答案。謝謝你的提醒! –