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
WSAEAFNOSUPPORT
La famiglia di indirizzi specificata non è supportata.
WSAEFAULT
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 .
WSAEINVAL
È 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.
WSAEMSGSIZE
Un buffer passato era troppo piccolo.
WSAENOTSOCK
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

WSAImpersonateSocketPeer

WSAQuerySocketSecurity

WSARevertImpersonation

WSASetSocketPeerTargetName

WSASetSocketSecurity

Piattaforma filtro Windows

Funzioni API della piattaforma di filtro di Windows

Estensioni socket sicure Winsock