WSADeleteSocketPeerTargetName 函式 (ws2tcpip.h)

WSADeleteSocketPeerTargetName 函式會移除對等目標名稱和套接字 IP 位址之間的關聯。 成功傳回之後,IP 位址與目標名稱之間將不會有未來關聯。

語法

INT WSAAPI WSADeleteSocketPeerTargetName(
  [in]           SOCKET                             Socket,
  [in]           const sockaddr                     *PeerAddr,
  [in]           ULONG                              PeerAddrLen,
  [in, optional] LPWSAOVERLAPPED                    Overlapped,
  [in, optional] LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
);

參數

[in] Socket

描述項,識別要刪除對等目標名稱的套接字。

[in] PeerAddr

要刪除目標名稱的對等IP位址。

[in] PeerAddrLen

PeerAddr 參數的大小,以位元組為單位。

[in, optional] Overlapped

WSAOVERLAPPED 結構的指標。 非重迭套接字會忽略此參數。

[in, optional] CompletionRoutine

作業完成時呼叫之完成例程的指標。 非重迭套接字會忽略此參數。

傳回值

如果函式成功,則傳回值為 0。 否則,會傳回 SOCKET_ERROR 的值,並呼叫 WSAGetLastError 來擷取特定的錯誤碼。

以下列出一些可能的錯誤碼。

錯誤碼 意義
WSAEAFNOSUPPORT
不支援指定的位址系列。
WSAEFAULT
系統在嘗試使用呼叫的指標自變數時偵測到無效的位址指標。 如果 PeerAddr 參數是 NULL 指標,就會傳回此錯誤。
WSAEINVAL
傳遞了一個無效的參數。 如果未使用 AF_INETAF_INET6 的位址系列建立套接字,且套接字類型為 SOCK_DGRAMSOCK_STREAM,則會傳回此錯誤。
WSAEMSGSIZE
傳遞的緩衝區太小。
WSAENOTSOCK
在 Socket 參數中傳遞的描述項不是有效的套接字。

備註

WSADeleteSocketPeerTargetName 函式提供方法,以移除對等目標名稱與套接字 IP 位址之間的關聯。 此函式可用來刪除先前使用 WSASetSocketPeerTargetName 函式設定的對等目標名稱。 在 WSADeleteSocketPeerTargetName 函式傳回之後,IP 位址的未來驗證不會使用先前指定的目標名稱。 此函式主要是設計成供無連線用戶端使用 (,例如,建立的套接字類型設定為 SOCK_DGRAM 或通訊協定設定為 IPPROTO_UDP) 之後,會終止與對等目標名稱相關聯之 IP 位址的連線。 例如,針對連線導向用戶端 (,建立的套接字類型設定為 SOCK_STREAM 或通訊協定設定為 IPPROTO_TCP) ,則不應該呼叫此函式。

WSADeleteSocketPeerTargetName 函式可簡化呼叫 WSAIoctl 函式,並將 dwIoControlCode 參數設定為 SIO_DELETE_PEER_TARGET_NAME

如果不符合下列條件,將會傳回錯誤。

  • Socket 參數的位址系列必須是 AF_INET 或 AF_INET6。
  • 套接字類型必須是 SOCK_STREAM 或 SOCK_DGRAM。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 ws2tcpip.h
程式庫 Fwpuclnt.lib
Dll Fwpuclnt.dll

另請參閱

使用安全套接字延伸模組

WSAImpersonateSocketPeer

WSAQuerySocketSecurity

WSARevertImpersonation

WSASetSocketPeerTargetName

WSASetSocketSecurity

Windows 篩選平台

Windows 篩選平臺 API 函式

Winsock 安全套接字延伸模組