Função WSADeleteSocketPeerTargetName (ws2tcpip.h)
A função WSADeleteSocketPeerTargetName remove a associação entre um nome de destino par e um endereço IP para um soquete. Após um retorno bem-sucedido, não haverá nenhuma associação futura entre o endereço IP e o nome de destino.
Sintaxe
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
Um descritor que identifica um soquete no qual o nome de destino do par está sendo excluído.
[in] PeerAddr
O endereço IP do par para o qual o nome de destino está sendo excluído.
[in] PeerAddrLen
O tamanho, em bytes, do parâmetro PeerAddr .
[in, optional] Overlapped
Um ponteiro para uma estrutura WSAOVERLAPPED . Esse parâmetro é ignorado para soquetes não sobrepostos.
[in, optional] CompletionRoutine
Um ponteiro para a rotina de conclusão chamado quando a operação foi concluída. Esse parâmetro é ignorado para soquetes não sobrepostos.
Retornar valor
Se a função for bem-sucedida, o valor retornado será 0. Caso contrário, um valor de SOCKET_ERROR será retornado e um código de erro específico poderá ser recuperado chamando WSAGetLastError.
Alguns códigos de erro possíveis estão listados abaixo.
Código do erro | Significado |
---|---|
A família de endereços especificada não tem suporte. | |
O sistema detectou um ponteiro de endereço inválido ao tentar usar um argumento de ponteiro de uma chamada. Esse erro será retornado se o parâmetro PeerAddr for um ponteiro NULL . | |
Um parâmetro inválido foi passado. Esse erro será retornado se o soquete passado no parâmetro Socket não tiver sido criado com uma família de endereços do AF_INET ou AF_INET6 e um tipo de soquete de SOCK_DGRAM ou SOCK_STREAM. | |
Um buffer passado era muito pequeno. | |
O descritor passado no parâmetro Socket não é um soquete válido. |
Comentários
A função WSADeleteSocketPeerTargetName fornece um método para remover a associação entre um nome de destino par e um endereço IP para um soquete. Essa função é usada para excluir um nome de destino par que foi definido anteriormente com a função WSASetSocketPeerTargetName . Depois que a função WSADeleteSocketPeerTargetName retornar, nenhuma autenticação futura no endereço IP usará o nome de destino especificado anteriormente. Essa função foi projetada principalmente para ser usada por clientes sem conexão (por exemplo, um soquete criado com o tipo definido como SOCK_DGRAM ou o protocolo definido como IPPROTO_UDP) depois que eles terminaram a conexão com o endereço IP associado ao nome de destino par. Para clientes orientados à conexão (por exemplo, um soquete criado com o tipo definido como SOCK_STREAM ou protocolo definido como IPPROTO_TCP), essa função não deve ser chamada.
A função WSADeleteSocketPeerTargetName simplifica a necessidade de chamar a função WSAIoctl com um parâmetro dwIoControlCode definido como SIO_DELETE_PEER_TARGET_NAME.
Um erro será retornado se as condições a seguir não forem atendidas.
- A família de endereços do parâmetro Socket deve ser AF_INET ou AF_INET6.
- O tipo de soquete deve ser SOCK_STREAM ou SOCK_DGRAM.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ws2tcpip.h |
Biblioteca | Fwpuclnt.lib |
DLL | Fwpuclnt.dll |
Confira também
Usando extensões de soquete seguro
Plataforma de filtragem do Windows