Funzione WSADeleteSocketPeerTargetName (ws2tcpip.h)
La funzione WSADeleteSocketPeerTargetName rimuove l'associazione tra un nome di destinazione peer e un indirizzo IP per un socket. Dopo un ritorno positivo, non sarà presente alcuna associazione futura tra l'indirizzo IP e il nome di destinazione.
Sintassi
INT WSAAPI WSADeleteSocketPeerTargetName(
[in] SOCKET Socket,
[in] const sockaddr *PeerAddr,
[in] ULONG PeerAddrLen,
[in, optional] LPWSAOVERLAPPED Overlapped,
[in, optional] LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
);
Parametri
[in] Socket
Descrittore che identifica un socket in cui viene eliminato il nome di destinazione peer.
[in] PeerAddr
Indirizzo IP del peer per cui viene eliminato il nome di destinazione.
[in] PeerAddrLen
Dimensioni, in byte, del parametro PeerAddr .
[in, optional] Overlapped
Puntatore a una struttura WSAOVERLAPPED . Questo parametro viene ignorato per socket non sovrapposti.
[in, optional] CompletionRoutine
Puntatore alla routine di completamento chiamata al termine dell'operazione. Questo parametro viene ignorato per socket non sovrapposti.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è 0. In caso contrario, viene restituito un valore di SOCKET_ERROR e un codice di errore specifico può essere recuperato chiamando WSAGetLastError.
Di seguito sono elencati alcuni codici di errore possibili.
Codice di errore | Significato |
---|---|
La famiglia di indirizzi specificata non è supportata. | |
Il sistema ha rilevato un puntatore degli indirizzi non valido nel tentativo di usare un argomento puntatore di una chiamata. Questo errore viene restituito se il parametro PeerAddr era un puntatore NULL . | |
È stato passato un parametro non valido. Questo errore viene restituito se il socket passato nel parametro Socket non è stato creato con una famiglia di indirizzi del AF_INETo AF_INET6 e un tipo di socket di SOCK_DGRAM o SOCK_STREAM. | |
Un buffer passato era troppo piccolo. | |
Il descrittore passato nel parametro Socket non è un socket valido. |
Commenti
La funzione WSADeleteSocketPeerTargetName fornisce un metodo per rimuovere l'associazione tra un nome di destinazione peer e un indirizzo IP per un socket. Questa funzione viene usata per eliminare un nome di destinazione peer impostato in precedenza con la funzione WSASetSocketPeerTargetName . Dopo che la funzione WSADeleteSocketPeerTargetName restituisce , nessuna autenticazione futura all'indirizzo IP userà il nome di destinazione specificato in precedenza. Questa funzione è principalmente progettata per essere usata dai client senza connessione ,ad esempio un socket creato con il tipo impostato su SOCK_DGRAM o il protocollo impostato su IPPROTO_UDP) dopo aver terminato la connessione con l'indirizzo IP associato al nome di destinazione peer. Per i client orientati alla connessione (ad esempio, un socket creato con il tipo impostato su SOCK_STREAM o protocollo impostato su IPPROTO_TCP), questa funzione non deve essere chiamata.
La funzione WSADeleteSocketPeerTargetName semplifica la chiamata alla funzione WSAIoctl con un parametro dwIoControlCode impostato su SIO_DELETE_PEER_TARGET_NAME.
Se le condizioni seguenti non vengono soddisfatte, verrà restituito un errore.
- La famiglia di indirizzi del parametro Socket deve essere AF_INET o AF_INET6.
- Il tipo di socket deve essere SOCK_STREAM o SOCK_DGRAM.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ws2tcpip.h |
Libreria | Fwpuclnt.lib |
DLL | Fwpuclnt.dll |
Vedi anche
Uso di estensioni socket sicure