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的通訊端類型建立通訊端傳入 Socket參數,就會傳回此錯誤。
WSAEMSGSIZE
傳遞的緩衝區太小。
WSAENOTSOCK
在 Socket參數中傳遞的描述元不是有效的通訊端。

備註

WSADeleteSocketPeerTargetName函式提供方法來移除對等目標名稱和通訊端 IP 位址之間的關聯。 此函式用來刪除先前使用 WSASetSocketPeerTargetName 函式設定的對等目標名稱。 在 WSADeleteSocketPeerTargetName函式傳回之後,IP 位址的未來驗證將不會使用先前指定的目標名稱。 此函式主要是設計成由無連線用戶端使用 (,例如,以類型設定為 SOCK_DGRAM 或通訊協定設定為 IPPROTO_UDP) 的通訊端,以與對等目標名稱相關聯的 IP 位址終止連線之後設定為 IPPROTO_UDP) 。 例如,針對連線導向用戶端 (,建立的通訊端類型設定為 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 安全通訊端延伸模組