Función WSADeleteSocketPeerTargetName (ws2tcpip.h)
La función WSADeleteSocketPeerTargetName quita la asociación entre un nombre de destino del mismo nivel y una dirección IP para un socket. Después de una devolución correcta, no habrá ninguna asociación futura entre la dirección IP y el nombre de destino.
Sintaxis
INT WSAAPI WSADeleteSocketPeerTargetName(
[in] SOCKET Socket,
[in] const sockaddr *PeerAddr,
[in] ULONG PeerAddrLen,
[in, optional] LPWSAOVERLAPPED Overlapped,
[in, optional] LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
);
Parámetros
[in] Socket
Descriptor que identifica un socket en el que se elimina el nombre de destino del mismo nivel.
[in] PeerAddr
La dirección IP del mismo nivel para la que se va a eliminar el nombre de destino.
[in] PeerAddrLen
Tamaño, en bytes, del parámetro PeerAddr .
[in, optional] Overlapped
Puntero a una estructura WSAOVERLAPPED . Este parámetro se omite para sockets no superpuestos.
[in, optional] CompletionRoutine
Puntero a la rutina de finalización a la que se llama cuando se ha completado la operación. Este parámetro se omite para sockets no superpuestos.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es 0. De lo contrario, se devuelve un valor de SOCKET_ERROR y se puede recuperar un código de error específico mediante una llamada a WSAGetLastError.
A continuación se enumeran algunos códigos de error posibles.
Código de error | Significado |
---|---|
La familia de direcciones especificada no se admite. | |
El sistema detectó un puntero de dirección no válido al intentar usar un argumento de puntero de una llamada. Este error se devuelve si el parámetro PeerAddr era un puntero NULL . | |
Se pasó un parámetro no válido. Este error se devuelve si el socket pasado en el parámetro Socket no se creó con una familia de direcciones de la AF_INET o AF_INET6 y un tipo de socket de SOCK_DGRAM o SOCK_STREAM. | |
Un búfer pasado era demasiado pequeño. | |
El descriptor pasado en el parámetro Socket no es un socket válido. |
Comentarios
La función WSADeleteSocketPeerTargetName proporciona un método para quitar la asociación entre un nombre de destino del mismo nivel y una dirección IP para un socket. Esta función se usa para eliminar un nombre de destino del mismo nivel que se estableció anteriormente con la función WSASetSocketPeerTargetName . Después de que se devuelva la función WSADeleteSocketPeerTargetName , ninguna autenticación futura en la dirección IP usará el nombre de destino especificado anteriormente. Esta función está diseñada principalmente para que la usen los clientes sin conexión (por ejemplo, un socket creado con el tipo establecido en SOCK_DGRAM o el protocolo establecido en IPPROTO_UDP) una vez finalizada la conexión con la dirección IP asociada al nombre de destino del mismo nivel. En el caso de los clientes orientados a la conexión (por ejemplo, un socket creado con el tipo establecido en SOCK_STREAM o protocolo establecido en IPPROTO_TCP), no se debe llamar a esta función.
La función WSADeleteSocketPeerTargetName simplifica la necesidad de llamar a la función WSAIoctl con un parámetro dwIoControlCode establecido en SIO_DELETE_PEER_TARGET_NAME.
Si no se cumplen las condiciones siguientes, se devolverá un error.
- La familia de direcciones del parámetro Socket debe ser AF_INET o AF_INET6.
- El tipo de socket debe ser SOCK_STREAM o SOCK_DGRAM.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | ws2tcpip.h |
Library | Fwpuclnt.lib |
Archivo DLL | Fwpuclnt.dll |
Consulte también
Uso de extensiones de socket seguro
Plataforma de filtrado de Windows