Funzione di callback LPWSPGETSOCKNAME (ws2spi.h)
La funzione LPWSPGetSockName ottiene il nome locale per un socket.
Sintassi
LPWSPGETSOCKNAME Lpwspgetsockname;
int Lpwspgetsockname(
[in] SOCKET s,
[out] sockaddr *name,
[in, out] LPINT namelen,
[out] LPINT lpErrno
)
{...}
Parametri
[in] s
Descrittore che identifica un socket associato.
[out] name
Puntatore a una struttura sockaddr usata per fornire l'indirizzo (nome) del socket.
[in, out] namelen
In input, puntatore a un numero intero che indica le dimensioni della struttura a cui punta il nome, in byte. Nell'output indica le dimensioni del nome restituito, in byte.
[out] lpErrno
Puntatore al codice di errore.
Valore restituito
Se non si verifica alcun errore, LPWSPGetSockName restituisce zero. In caso contrario, viene restituito un valore di SOCKET_ERROR e in lpErrno è disponibile un codice di errore specifico.
Codice di errore | Significato |
---|---|
Il sottosistema di rete non è riuscito. | |
Il nome o il parametro namelen non è una parte valida dello spazio indirizzi utente oppure il parametro namelen è troppo piccolo. | |
La funzione viene richiamata quando è in corso un callback. | |
Il descrittore non è un socket. | |
Il socket non è stato associato a un indirizzo con LPWSPBind o ADDR_ANY è specificato in **LPWSPBind** ma la connessione non è ancora stata eseguita. |
Commenti
LPWSPGetSockName recupera il nome corrente per il descrittore di socket specificato nel nome. Viene usato su un socket associato e/o connesso specificato dal parametro s . Viene restituita l'associazione locale. Questa chiamata è particolarmente utile quando è stata effettuata una chiamata LPWSPConnect senza eseguire prima LPWSPBind ; poiché questa chiamata fornisce l'unico mezzo per cui è possibile determinare l'associazione locale impostata dal provider di servizi.
Se un socket è stato associato a un indirizzo non specificato (ad esempio, ADDR_ANY), a indicare che uno degli indirizzi dell'host all'interno della famiglia di indirizzi specificata deve essere usato per il socket, LPWSPGetSockName non restituirà necessariamente informazioni sull'indirizzo host, a meno che il socket non sia stato connesso a LPWSPConnect o LPWSPAccept. Il client SPI Windows Sockets non deve presupporre che venga specificato un indirizzo a meno che il socket non sia connesso. Questo perché per un host multihomed, l'indirizzo che verrà usato per il socket è sconosciuto fino a quando il socket non è connesso.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | ws2spi.h |