Funzione di callback LPWSPENUMNETWORKEVENTS (ws2spi.h)
La funzione LPWSPEnumNetworkEvents segnala occorrenze di eventi di rete per il socket indicato.
Sintassi
LPWSPENUMNETWORKEVENTS Lpwspenumnetworkevents;
int Lpwspenumnetworkevents(
[in] SOCKET s,
[in] WSAEVENT hEventObject,
[out] LPWSANETWORKEVENTS lpNetworkEvents,
[out] LPINT lpErrno
)
{...}
Parametri
[in] s
Descrittore che identifica il socket.
[in] hEventObject
Handle facoltativo che identifica un oggetto evento associato da reimpostare.
[out] lpNetworkEvents
Puntatore a una struttura WSANETWORKEVENTS compilata con un record di eventi di rete verificatisi e a tutti i codici di errore associati. La struttura WSANETWORKEVENTS è definita nel testo seguente.
[out] lpErrno
Puntatore al codice di errore.
Valore restituito
Il valore restituito è zero se l'operazione ha avuto esito positivo. In caso contrario, il valore SOCKET_ERROR viene restituito e un numero di errore specifico è disponibile in lpErrno.
Codice di errore | Significato |
---|---|
Il sottosistema di rete non è riuscito. | |
Indica che uno dei parametri specificati non è valido. | |
Una chiamata windows Sockets bloccata è in corso o il provider di servizi sta ancora elaborando una funzione di callback. | |
Il descrittore non è un socket. |
Commenti
Questa funzione viene usata per segnalare gli eventi di rete che si sono verificati per il socket indicato dall'ultima chiamata di questa funzione. È destinato all'uso insieme a LPWSPEventSelect e LPWSPAsyncSelect, che associano un oggetto evento a uno o più eventi di rete. La registrazione degli eventi di rete inizia quando LPWSPEventSelect o LPWSPAsyncSelect viene chiamato con un argomento nonzero lNetworkEvents e rimane in vigore fino a quando non viene eseguita un'altra chiamata corrispondente a LPWSPEventSelect o LPWSPAsyncSelect con lNetworkEvents argomento impostato su zero.
LPWSPEnumNetworkEvents segnala solo attività di rete ed errori designati tramite LPWSPEventSelect. Vedere le descrizioni di LPWSPSelect e LPWSPAsyncSelect per scoprire come tali funzioni segnalano attività e errori di rete.
Il record interno del socket degli eventi di rete viene copiato nella struttura a cui fa riferimento lpNetworkEvents, a cui viene cancellato il record degli eventi di rete interna. Se hEventObject non è null, viene reimpostato anche l'oggetto evento indicato. Il provider Windows Sockets garantisce che le operazioni di copia del record dell'evento di rete, la cancellazione e la reimpostazione di qualsiasi oggetto evento associato siano atomiche, in modo che l'occorrenza successiva di un evento di rete nominato causerà l'impostazione dell'oggetto evento. Nel caso di questa funzione che restituisce SOCKET_ERROR, l'oggetto evento associato non viene reimpostato e il record di eventi di rete non viene cancellato.
La struttura WSANETWORKEVENTS è definita nella pagina di riferimento WSANETWORKEVENTS.
Il membro lNetworkEvents della struttura WSANETWORKEVENTS indica quale degli eventi di rete FD_XXX si sono verificati. La matrice iErrorCode viene usata per contenere eventuali codici di errore associati, con indice di matrice corrispondente alla posizione dei bit di evento in lNetworkEvents. Gli identificatori come FD_READ_BIT e FD_WRITE_BIT possono essere usati per indicizzare la matrice iErrorCode .
Si noti che solo gli elementi della matrice iErrorCode sono impostati che corrispondono ai bit impostati nel membro lNetworkEvents . Gli altri membri non vengono modificati (questo è importante per la compatibilità con le versioni precedenti con i client SPI di Windows Socket 2 che non sono consapevoli di nuovi FD_ROUTING_INTERFACE_CHANGE e FD_ADDRESS_LIST_CHANGE eventi).
I codici di errore seguenti possono essere restituiti insieme al rispettivo evento di rete.
Evento: FD_CONNECT
Codice di errore | Significato |
---|---|
Impossibile utilizzare gli indirizzi della famiglia specificata con questo socket. | |
Un tentativo di connessione è stato rifiutato forzatamente. | |
Impossibile raggiungere la rete da questo host in questo momento. | |
Nessuno spazio di buffer disponibile. Impossibile connettere il socket. | |
Tentativo di connessione in timeout senza stabilire una connessione. |
Evento: FD_CLOSE
Codice di errore | Significato |
---|---|
Il sottosistema di rete non è riuscito. | |
La connessione è stata reimpostata dal lato remoto. | |
La connessione è stata terminata a causa di un timeout o di un altro errore. |
Evento: FD_READ, FD_WRITE, FD_OOB, FD_ACCEPT, FD_QOS, FD_GROUP_QOS, FD_ADDRESS_LIST_CHANGE
Codice di errore | Significato |
---|---|
Il sottosistema di rete non è riuscito. |
Evento: FD_ROUTING_INTERFACE_CHANGE
Codice di errore | Significato |
---|---|
La destinazione specificata non è più raggiungibile. | |
Il sottosistema di rete non è riuscito. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | ws2spi.h |