GetHostbyaddr 函式並不具備執行緒安全而不需 DNS 和 (或) WINS

Windows XP 支援已結束

Microsoft 於 2014 年 4 月 8 日結束對 Windows XP 的支援。此變更已影響您的軟體更新和安全性選項。 瞭解這對您的意義為何且如何持續受保護。

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

317936
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
即使不正確的位址存在,gethostbyaddr 呼叫可能會回到成功指標 hostent 結構從另一個執行緒。中沒有任何 DNS 或 WINS 設定和 NetBIOS 透過 TCP/IP 選項時開啟私用的子網路,解析位址子網路程式中的多個執行緒中呼叫 gethostbyaddr 時應傳回錯誤 11004 (WSANO_DATA) 如果位址無效。
解決方案
如果要解決這個問題,取得最新的 Service Pack 的 Windows XP。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
322389如何取得最新的 Windows XP Service Pack

Hotfix 資訊

Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。這個 Hotfix 可能會接受額外的測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個包含此 Hotfix 的軟體更新。

如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果本節 Does Not Appear 請連絡[ Microsoft 客戶服務 ] 和 [ 支援 ] 以取得此 Hotfix。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。

檔案資訊

此修正程式的英文版應該具有下列檔案屬性或更新版本:
   Date       Time   Version      Size     File name   -------------------------------------------------   04-Apr-02  11:57  5.1.2600.41  149,120  Netbt.sys				

其他可行方案
如果要解決這個問題,使用關鍵區段來同步處理對執行緒之間 gethostbyaddr 呼叫。
狀況說明
Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的問題。這個問題最早是在 Windows XP Service Pack 1 中獲得修正。
kbNetwork

警告:本文已自動翻譯

內容

文章識別碼:317936 - 最後檢閱時間:01/12/2015 19:46:22 - 修訂: 1.4

  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional
  • kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbqfe kbbug kbdns kbenv kbfix kbnetwork kbwin2000presp3fix kbwinsock kbwinxpsp1fix KB317936 KbMtzh
意見反應