WSA 錯誤程式碼

ForTechnology發表於2011-08-05
WSAGetLastError
WSAGetLastError (Wsapiref_2tiq.asp) 函式返回了可能的錯誤程式碼。 錯誤錯誤巨集按字母順序列出。 不從任何函式返回在 Winsock2.h 中定義一些錯誤程式碼。

本文中不包括這些錯誤程式碼。
更多資訊WSAEINTR (10004) 翻譯: 中斷函式呼叫。 說明: A 阻塞操作已被 WSACancelBlockingCall (Wsapiref_704y.a...WSAEINTR (10004)
翻譯: 中斷函式呼叫。
說明: A 阻塞操作已被 WSACancelBlockingCall (Wsapiref_704y.asp) 呼叫中斷。
WSAEACCES (10013)
翻譯: 許可權被拒絕。
說明: 訪問被禁止通過其訪問許可權的方式套接字的嘗試。 渚嬪廣播的地址用於 sendto 但通過使用 setsockopt(SO_BROADCAST) 未設定廣播的許可權時,將發生此

錯誤。 WSAEACCES 錯誤的另一個可能原因是,當繫結 (Wsapiref_6vzm.asp) 函式被呼叫時 (在 Microsoft Windows NT 4.0 Service Pack 4 [SP4] 或更高版本

),另一個程式、 服務,或核心模式驅動程式繫結到相同的地址以獨佔訪問許可權。 這樣的獨佔訪問許可權是一種新的功能的 Windows NT 4.0 SP4 和更高版本中,

和實現通過使用 SO_EXCLUSIVEADDRUSE 選項。
WSAEFAULT (10014)
翻譯: 錯誤地址。
說明: 嘗試使用指標引數的呼叫時,系統檢測到無效指標地址。 如果某個程式通過無效指標值,或如果緩衝區的長度太小,則會發生此錯誤。 渚嬪如果小於

sizeof(SOCKADDR) 值的引數是 SOCKADDR 結構的長度,則會出現此問題。
WSAEINVAL (10022)
翻譯: 引數無效。
說明: 向 setsockopt (Wsapiref_94aa.asp) 函式提供了無效的引數 (渚嬪指定無效的級別的引數)。 有時,還指套接字的當前狀態、 電話渚嬪沒有偵聽的套

接字上接受 (Wsapiref_13aq.asp)。
WSAEMFILE (10024)
翻譯: 開啟的檔案太多。
說明: 有太多開啟的套接字。 每個實現可能具有可用的套接字控制程式碼的最大數量。 這些控制程式碼可能可用的全域性,每程式,或每個執行緒。
WSAEWOULDBLOCK (10035)
翻譯: 資源暫時不可用。
說明: 此錯誤從無法立即完成,渚嬪的非阻止套接字上的操作 (Wsapiref_2i9e.asp) 接收時返回無資料排隊從套接字讀取。 它是一個非嚴重的錯誤和操作可以在

稍後重試。 WSAEWOULDBLOCK 通常被報告為結果的電話連線 (Wsapiref_8m7m.asp) 非阻止 SOCK_STREAM 套接字上,因為對於建立該連線必須經過一些時間。
WSAEINPROGRESS (10036)
翻譯: 現在正在進行的操作。
說明: 當前正在執行的阻止操作。 Windows 套接字只允許一個阻塞操作為每個任務或為每個執行緒是未完成。 如果任何其他函式呼叫 (無論它引用的或任何其他

套接字),函式失敗,WSAEINPROGRESS 錯誤。
WSAEALREADY (10037)
翻譯: 已在進行的操作。
說明: 一個操作,在操作正在進行時嘗試對非阻止套接字。 渚嬪電話連線 (Wsapiref_8m7m.asp),在第二次嘗試對非阻止套接字已連線的或非同步請求

(WSAAsyncGetXbyY),在嘗試已經已被取消或完成的。
WSAENOTSOCK (10038)
翻譯: 套接字上 nonsocket 的操作。
說明: 上某些內容不是一套接字已嘗試的操作。 套接字的控制程式碼引數沒有引用一個有效套接字,或者選擇 (Wsapiref_1ab6.asp),為一個 fd_set 的成員已無效。
WSAEDESTADDRREQ (10039)
翻譯: 所需的目標地址。
說明: 從上一個套接字的操作省略了一個必需的地址。 渚嬪 sendto (Wsapiref_4sqa.asp) 呼叫使用 ADDR_ANY 的遠端地址,則返回此錯誤。
WSAEMSGSIZE (10040)
翻譯: 訊息太長。
說明: 資料文報套接字傳送的郵件已大於內部訊息緩衝區或某些其他網路限制或用於接收資料包的緩衝區比資料包本身小。
WSAEPROTOTYPE (10041)
翻譯: 協議套接字的型別錯誤。
說明: 套接字 (Wsapiref_2qr6.asp) 函式呼叫中指定的協議不支援請求的套接字型別的語義。 渚嬪 ARPA Internet UDP 協議不能指定與 SOCK_STREAM 的套接字

型別。
WSAENOPROTOOPT (10042)
翻譯: 錯誤協議選項。
說明: getsockopt (Wsapiref_8qcy.asp) 呼叫或 setsockopt (Wsapiref_94aa.asp) 呼叫中指定了一個未知、 無效,或不受支援的選項或級別。
WSAEPROTONOSUPPORT (10043)
翻譯: 不支援的協議。
說明: 請求的協議未要麼被配置為在系統中或它的實現不存在。 渚嬪套接字 (Wsapiref_2qr6.asp) 呼叫請求 SOCK_DGRAM 套接字,但它指定流協議。
WSAESOCKTNOSUPPORT (10044)
翻譯: 套接字型別不受支援。
說明: 這個地址家族中不存在指定的套接字型別的支援。 套渚嬪可選型別可能在套接字 (Wsapiref_2qr6.asp) 呼叫中被選中,但實現不支援 SOCK_RAW SOCK_RAW

接字根本。
WSAEOPNOTSUPP (10045)
翻譯: 不支援的操作。
說明: 被引用的物件型別不支援所嘗試的操作。 此錯誤通常在一個套接字描述符到不支援此操作,一套接字試圖接受連線資料包套接字上的時發生。
WSAEPFNOSUPPORT (10046)
翻譯: 協議家族不受支援。
說明: 尚未在系統中配置的協議族或它的實現不存在。 此郵件有 WSAEAFNOSUPPORT 含義略有不同。 但是,它是經常可互換的。 返回一個這些訊息的所有

Windows 套接字函式還都指定 WSAEAFNOSUPPORT。
WSAEAFNOSUPPORT (10047)
翻譯: 地址族不支援的協議族。
說明: 使用了地址與請求的協議不相容。 與一個相關聯的地址族 (也就是 AF_INET 的 Internet 協議) 和泛型的協議型別 (SOCK_STREAM) 建立所有的套接字

。 如果不正確的協議明確請求的套接字 (Wsapiref_2qr6.asp) 呼叫中,或不正確的家族的地址用於一個插槽渚嬪 sendto (Wsapiref_4sqa.asp) 中,將返回此錯

誤。
WSAEADDRINUSE (10048)
翻譯: 已在使用中的地址。
說明: 通常,允許的每個套接字地址 (協議/IP 地址/埠) 只有一個用法。 如果某個程式試圖將繫結 (Wsapiref_6vzm.asp) 為 IP 地址或埠已被使用的一

個現有插槽未正確,關閉一個套接字的套接字,會發生此錯誤,或仍在結束的過程是一套接字。 已將多個套接字繫結到相同的埠號的伺服器程式應考慮使用

setsockopt (Wsapiref_94aa.asp)(SO_REUSEADDR)。 客戶端程式通常不具有在所有呼叫繫結、 連線 (Wsapiref_8m7m.asp) 自動選擇未使用的埠。 當一個繫結

呼叫使用萬用字元地址 (涉及 ADDR_ANY) 時,直到特定地址被提交,可能會延遲 WSAEADDRINUSE 錯誤。 這可能會出現與發生更高版本,包括連線、 偵聽、

WSAConnect,或 WSAJoinLeaf 的另一個函式呼叫。
WSAEADDRNOTAVAIL (10049)
轉換: 無法分配請求的地址。
說明: 請求的地址是其上下文中的無效。 此錯誤通常結果從試圖繫結 (Wsapiref_6vzm.asp) 到不在本地計算機的無效的地址。 此錯誤也可能會導致從連線

(Wsapiref_8m7m.asp) sendto (Wsapiref_4sqa.asp) WSAConnect (Wsapiref_8kc2.asp)、 WSAJoinLeaf (Wsapiref_7dv6.asp) 或 WSASendTo

(Wsapiref_752q.asp) 時遠端地址或埠是無效的遠端計算機 (for example,地址或埠 0)。
WSAENETDOWN (10050)
翻譯: 網路已關閉。
說明: 一個套接字操作遇到死網路。 此錯誤可能表示網路系統 (也就是協議堆疊執行的 Windows 套接字 DLL 的)、 網路介面或本地網路本身的嚴重故障。
WSAENETUNREACH (10051)
轉換: 無法訪問網路時。
說明: 一個套接字操作試圖無法訪問網路。 此錯誤通常意味著本地軟體知道沒有到達遠端主機的路由。
WSAENETRESET (10052)
翻譯: 網路上重置丟棄連線。
說明: 由於在操作過程中檢測到失敗時的 keep-alive 活動的連線被中斷。 它還返回由 setsockopt (Wsapiref_94aa.asp) 如果嘗試已失敗的連線上設定

SO_KEEPALIVE。
WSAECONNABORTED (10053)
翻譯: 軟體造成連線中斷。
說明: 一個已建立的連線已停止,軟體在您的宿主計算機中可能是因資料傳輸超時或協議錯誤。
WSAECONNRESET (10054)
翻譯: 通過對等方重置連線。
說明: 一個現有的連線被遠端主機強行關閉。 如果突然停止對等程式在遠端主機上的、 重新啟動主機,或遠端主機將使用硬碟關閉,通常會發生此錯誤。 有關

遠端套接字上 SO_LINGER 選項的詳細資訊,請參閱 setsockopt (Wsapiref_94aa.asp)。 如果因一個或多個操作正在進行時檢測到失敗時的 keep-alive 活動連

接被中斷,也可能會導致此錯誤。 正在進行的操作失敗,出現 WSAENETRESET。 隨後的操作失敗,出現 WSAECONNRESET。
WSAENOBUFS (10055)
翻譯: 沒有可用的緩衝空間。
說明: 由於系統缺乏足夠的緩衝區空間,或因為佇列已滿,不能執行套接字的操作。
WSAEISCONN (10056)
翻譯: 套接字已連線。
說明: 一個已連線套接字上發出的連線請求。 某些實現還此如果呼叫返回錯誤 sendto (Wsapiref_4sqa.asp) 是已連線的 SOCK_DGRAM 套接字上 (對於 sendto

(Wsapiref_4sqa.asp) 中收件人蔘數上的 SOCK_STREAM 套接字將被忽略) 儘管其他實現將此視為有效的匹配項。
WSAENOTCONN (10057)
翻譯: 套接字未連線。
說明: 不允許傳送或接收資料的請求,因為套接字未連線且 (當使用 sendto [Wsapiref_4sqa.asp] 資料文報套接字上傳送,已提供沒有地址)。 任何其他型別

的操作也可能會返回此錯誤中 setsockopt (Wsapiref_94aa.asp) 如果連線重置設定 SO_KEEPALIVE 的示例。
WSAESHUTDOWN (10058)
翻譯: 套接字關閉後無法傳送。
說明: 由於套接字有已被關閉,因此在與以前的關閉 (Wsapiref_60z6.asp) 呼叫該方向,不允許傳送或接收資料的請求。 當呼叫一個關機時,套接字的分部關閉

請求。 這是一個訊號,傳送或接收程式 (或兩者) 已經被中止。
WSAETIMEDOUT (10060)
翻譯: 連線超時。
說明: 由於連線的方沒有正確響應時間,一段時間後或建立的連線失敗,因為連線的主機未能響應的連線嘗試失敗。
WSAECONNREFUSED (10061)
翻譯: 連線被拒絕。
說明: 進行未連線,因為目標計算機主動拒絕它。 嘗試連線到處於非活動狀態外主機就是一個不具有執行伺服器程式上的服務通常會導致此錯誤。
WSAEHOSTDOWN (10064)
翻譯: 主機已關閉。
說明: 一個套接字操作失敗,因為目標主機已關閉。 套接字操作遇到死的主機。 不初始化本地主機上的網路活動。 這些條件就是由錯誤 WSAETIMEDOUT 指示的

可能性更大。
WSAEHOSTUNREACH (10065)
翻譯: 沒有到主機的路由。
說明: 無法連線主機已嘗試的套接字操作。 請參閱 WSAENETUNREACH。
WSAEPROCLIM (10067)
翻譯: 太多的程式。
說明: 一個 Windows 套接字實現可能可以同時使用它的程式數目上有限制。 如果達到限制 WSAStartup (Wsapiref_1v8y.asp) 可能會失敗,此錯誤。
WSASYSNOTREADY (10091)
翻譯: 網路子系統不可用。
說明: 如果 Windows 套接字實現當前無法正常工作,因為它用來提供網路服務的基礎系統當前不可用,則通過 WSAStartup (Wsapiref_1v8y.asp) 返回此錯誤。

確認下列事項:
確認當前路徑中相應的 Windows 套接字 DLL 檔案。
確認它們不嘗試在同一時間使用多個 Windows 套接字實現。
如果有多個) Winsock DLL 在系統上,確認適當網路子系統當前載入的第一個的 Winsock DLL,在路徑中。
請確認所有必需的元件目前已安裝並正確配置根據為 Windows 套接字實現文件。
WSAVERNOTSUPPORTED (10092)
轉換: 超出範圍 Winsock.dll 版本。
說明: 的當前 Windows 套接字實現不支援所請求的程式在 Windows 套接字規範版本。 請確保訪問沒有舊的 Windows 套接字 DLL 檔案。
WSANOTINITIALISED (10093)
翻譯: 還未執行的成功 WSAStartup。
說明: 是該程式不具有稱為 WSAStartup (Wsapiref_1v8y.asp) 或 WSAStartup (Wsapiref_1v8y.asp) 失敗。 該程式可能正在訪問不屬於當前的活動任務的套接

字 (也就其試圖共享的任務之間的一套接字),或 WSACleanup 呼叫次數太多。
WSAEDISCON (10101)
翻譯: 正常關機正在進行中的。
說明: 由 WSARecv (Wsapiref_4z1u.asp) 和 WSARecvFrom (Wsapiref_4wky.asp) 指示遠端方已啟動正常關機順序返回此錯誤。
WSATYPE_NOT_FOUND (10109)
翻譯: 類別找不到的型別。
說明: 找不到指定的類。
WSAHOST_NOT_FOUND (11001)
翻譯: 找不到主機。 沒有這類主機是已知的。
說明: 名稱不是正式的主機名或別名,或未找到被查詢資料庫中。 返回此錯誤可能還會為協議和服務查詢以及它意味著在相關資料庫中找不到指定的名稱。
WSATRY_AGAIN (11002)
翻譯: 找不到非權威主機。
說明: 此錯誤通常是臨時的錯誤過程中解析主機名稱和它意味著本地伺服器沒有從權威伺服器收到響應。 在某些時候稍後重試可能成功。
WSANO_RECOVERY (11003)
翻譯: 這是用於 nonrecoverable 的錯誤。
說明: 此錯誤表明在資料庫查詢中出現某種排序 nonrecoverable 的錯誤。 如果找不到資料庫檔案 (渚嬪 BSD 相容 HOSTS、 服務,或協議檔案),或者出現嚴

重錯誤,伺服器返回了一個 DNS 請求,則可能發生此錯誤。
WSANO_DATA (11004)
翻譯: 有效的名稱、 請求型別的任何資料記錄。
說明: 請求的名稱有效並且已在資料庫中找到,但它沒有正確正在被解析為的關聯的資料。 這對於典型的示例嘗試就是一個主機名到地址轉換 (使用

gethostbyname [Wsapiref_0q5u.asp] 或 WSAAsyncGetHostByName [Wsapiref_7bhu.asp]) 使用 DNS 伺服器的。 MX 記錄,則返回但沒有 A 記錄。 這意味著主

機本身存在,但不是直接可達。
WSA_INVALID_HANDLE (作業系統依賴)
翻譯: 指定事件物件控制程式碼無效。
說明: 一個程式試圖使用一個事件物件,但指定的控制程式碼則無效。
WSA_INVALID_PARAMETER (作業系統依賴)
翻譯: 一個或多個引數均無效。
說明: 一個程式使用一個 Windows 套接字函式直接對映到 Win32 函式。 Win32 函式時,該值指示一個或多個引數有問題。
WSA_IO_INCOMPLETE (作業系統依賴)
翻譯: 重疊的 I/O 事件物件不在終止狀態。
說明: 程式已嘗試確定尚未完成的重疊操作的狀態。 該操作完成之前,確定重疊的操作已完成時輪詢模式中使用 WSAGetOverlappedResult (與 fWait 標誌設定

為 FALSE) 的程式將收到此錯誤程式碼。
WSA_IO_PENDING (作業系統依賴)
翻譯: 重疊的操作將在以後完成。
說明: 程式初始化了無法立即完成一個重疊的操作。 完成操作時,將以後傳送完成指示。
WSA_NOT_ENOUGH_MEMORY (作業系統依賴)
翻譯: 可用記憶體不足。
說明: 一個程式使用一個 Windows 套接字函式直接對映到 Win32 函式。 Win32 函式,它指示缺少所需的記憶體資源。
WSA_OPERATION_ABORTED (作業系統依賴)
翻譯: 重疊操作中止。
說明: 由於套接字已關閉或 WSAIoctl (Wsapiref_6ik2.asp) 中的 SIO_FLUSH 命令已執行了一個重疊的操作被取消。
WSAINVALIDPROCTABLE (作業系統依賴)
翻譯: 無效的過程從服務提供商的表。
說明: A 服務提供程式返回無效的過程表到 Ws2_32.dll。 (這是通常由於一個或多個正在空的函式指標)。
WSAINVALIDPROVIDER (作業系統依賴)
翻譯: 無效的服務提供程式的版本號。
說明: A 服務提供程式返回 2.0 以外的版本號。
WSAPROVIDERFAILEDINIT (作業系統依賴)
轉換: 無法初始化服務提供商。
說明: 不能是一個服務提供商的 DLL 載入 (失敗 LoadLibrary) 或提供商的 WSPStartup/NSPStartup 函式失敗。
WSASYSCALLFAILURE (作業系統依賴)
翻譯: 系統呼叫失敗。
說明: 應永不失敗的系統呼叫失敗時,將返回此錯誤。 渚嬪如果 WaitForMultipleObjects 呼叫失敗或其中一個登錄檔函式失敗試圖更改協議或 $ 名稱空間編

錄,將發生此錯誤

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25897606/viewspace-704279/,如需轉載,請註明出處,否則將追究法律責任。

相關文章