WSADeleteSocketPeerTargetName-Funktion (ws2tcpip.h)
Die WSADeleteSocketPeerTargetName-Funktion entfernt die Zuordnung zwischen einem Peerzielnamen und einer IP-Adresse für einen Socket. Nach einer erfolgreichen Rückgabe wird es keine zukünftige Zuordnung zwischen der IP-Adresse und dem Zielnamen geben.
Syntax
INT WSAAPI WSADeleteSocketPeerTargetName(
[in] SOCKET Socket,
[in] const sockaddr *PeerAddr,
[in] ULONG PeerAddrLen,
[in, optional] LPWSAOVERLAPPED Overlapped,
[in, optional] LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
);
Parameter
[in] Socket
Ein Deskriptor, der einen Socket identifiziert, für den der Peerzielname gelöscht wird.
[in] PeerAddr
Die IP-Adresse des Peers, für den der Zielname gelöscht wird.
[in] PeerAddrLen
Die Größe des PeerAddr-Parameters in Bytes.
[in, optional] Overlapped
Ein Zeiger auf eine WSAOVERLAPPED-Struktur . Dieser Parameter wird für nicht überlappende Sockets ignoriert.
[in, optional] CompletionRoutine
Ein Zeiger auf die Vervollständigungsroutine, die aufgerufen wird, wenn der Vorgang abgeschlossen wurde. Dieser Parameter wird für nicht überlappende Sockets ignoriert.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert 0. Andernfalls wird der Wert SOCKET_ERROR zurückgegeben, und ein bestimmter Fehlercode kann durch Aufrufen von WSAGetLastError abgerufen werden.
Einige mögliche Fehlercodes sind unten aufgeführt.
Fehlercode | Bedeutung |
---|---|
Die angegebene Adressfamilie wird nicht unterstützt. | |
Das System hat beim Versuch, ein Zeigerargument eines Aufrufs zu verwenden, einen ungültigen Adresszeiger erkannt. Dieser Fehler wird zurückgegeben, wenn der PeerAddr-Parameter ein NULL-Zeiger war. | |
Es wurde ein ungültiger Parameter übergeben. Dieser Fehler wird zurückgegeben, wenn der im Socket-Parameter übergebene Socket nicht mit einer Adressfamilie des AF_INET oder AF_INET6 und einem Sockettyp von SOCK_DGRAM oder SOCK_STREAM erstellt wurde. | |
Ein übergebener Puffer war zu klein. | |
Der im Socket-Parameter übergebene Deskriptor ist kein gültiger Socket. |
Hinweise
Die WSADeleteSocketPeerTargetName-Funktion stellt eine Methode zum Entfernen der Zuordnung zwischen einem Peerzielnamen und einer IP-Adresse für einen Socket bereit. Diese Funktion wird verwendet, um einen Peerzielnamen zu löschen, der zuvor mit der WSASetSocketPeerTargetName-Funktion festgelegt wurde. Nachdem die WSADeleteSocketPeerTargetName-Funktion zurückgegeben wurde, verwendet keine zukünftige Authentifizierung bei der IP-Adresse den zuvor angegebenen Zielnamen. Diese Funktion ist in erster Linie für die Verwendung von verbindungslosen Clients konzipiert (z. B. ein Socket, der mit dem auf SOCK_DGRAM oder dem Protokoll auf IPPROTO_UDP erstellt wurde), nachdem sie die Verbindung mit der IP-Adresse beendet haben, die dem Peerzielnamen zugeordnet ist. Für verbindungsorientierte Clients (z. B. ein Socket, der mit dem auf SOCK_STREAM oder protokoll auf IPPROTO_TCP festgelegten Protokoll erstellt wurde), sollte diese Funktion nicht aufgerufen werden.
Die WSADeleteSocketPeerTargetName-Funktion vereinfacht das Aufrufen der WSAIoctl-Funktion mit einem dwIoControlCode-Parameter , der auf SIO_DELETE_PEER_TARGET_NAME festgelegt ist.
Wenn die folgenden Bedingungen nicht erfüllt sind, wird ein Fehler zurückgegeben.
- Die Adressfamilie des Socket-Parameters muss entweder AF_INET oder AF_INET6 sein.
- Der Sockettyp muss entweder SOCK_STREAM oder SOCK_DGRAM sein.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | ws2tcpip.h |
Bibliothek | Fwpuclnt.lib |
DLL | Fwpuclnt.dll |
Weitere Informationen
Verwenden von Secure Socket-Erweiterungen