DisconnectEx

DisconnectEx函式關閉套接字連線,並允許重用套接字句柄。Windows 95/98不支持DisconnectEx函式。。

基本介紹

  • 中文名:DisconnectEx
  • 平台SDK:Windows套接字
  • 特點:允許重用套接字句柄
  • 平台:windows
平台,簡介,

平台

SDK:Windows

簡介

BOOL DisconnectEx(
__in SOCKET hSocket,
__in LPOVERLAPPED lpOverlapped,
__in DWORD dwFlags,
__in DWORD reserved
);
hSocket[in] 已連線的套接字句柄,也就是與客戶端通訊的SOCKET。
lpOverlapped[in] OVERLAPPED結構體指針,用於接收操作的結果。
如果此值為 NULL,則表示同步調用,直到操作完畢後才返回(無論成功或失敗)。
如果不為 NULL,則表示異步調用,參數可通過 GetQueuedCompletionStatus 函式返回。
dwFlags[in] 函式調用的標記,如果設定為0,則為沒有標記,如果是重用這個socket則設定為TF_REUSE_SOCKET。
reserved[in] 保留,必須設定為0,否則返回 WSAEINVAL。
返回值:
如果成功返回TURE,否則返回FALSE,可以通過調用the WSAGetLastError獲取失敗信息
備註:
此函式只能套用於面向連線的 SOCKET(SOCK_STREAM、SOCK_SEQPACKET、SOCK_RDM)
如果函式返回 FALSE,WSAGetLastError 可能會返回:
WSA_IO_PENDING(997):其實函式已經執行成功但工作正在處理,稍候可以通過 GetQueuedCompletionStatus 接收到完成通知。
WSAENOTCONN(10057):原因是hSocket 未與對端建立連線(可能在等候 AcceptEx 階段),則會返回此錯誤,這時可以忽略此錯誤值而不影響 SOCKET 重用
當操作成功後(無論是同步或異步收到通知),重新調用 CreateIoCompletionPort 對 SOCKET 綁定時,都會返回一個重複

相關詞條

熱門詞條

聯絡我們