LPWSPENUMNETWORKEVENTS-Rückruffunktion (ws2spi.h)
Die LPWSPEnumNetworkEvents-Funktion meldet Vorkommen von Netzwerkereignissen für den angegebenen Socket.
Syntax
LPWSPENUMNETWORKEVENTS Lpwspenumnetworkevents;
int Lpwspenumnetworkevents(
[in] SOCKET s,
[in] WSAEVENT hEventObject,
[out] LPWSANETWORKEVENTS lpNetworkEvents,
[out] LPINT lpErrno
)
{...}
Parameter
[in] s
Deskriptor, der den Socket identifiziert.
[in] hEventObject
Optionales Handle, das ein zugeordnetes Ereignisobjekt identifiziert, das zurückgesetzt werden soll.
[out] lpNetworkEvents
Zeiger auf eine WSANETWORKEVENTS-Struktur , die mit einem Datensatz von aufgetretenen Netzwerkereignissen und allen zugehörigen Fehlercodes gefüllt ist. Die WSANETWORKEVENTS-Struktur ist im folgenden Text definiert.
[out] lpErrno
Zeiger auf den Fehlercode.
Rückgabewert
Der Rückgabewert ist null, wenn der Vorgang erfolgreich war. Andernfalls wird der Wert SOCKET_ERROR zurückgegeben, und eine bestimmte Fehlernummer ist in lpErrno verfügbar.
Fehlercode | Bedeutung |
---|---|
Fehler beim Netzwerksubsystem. | |
Gibt an, dass einer der angegebenen Parameter ungültig war. | |
Ein blockierter Windows Sockets-Aufruf wird ausgeführt, oder der Dienstanbieter verarbeitet weiterhin eine Rückruffunktion. | |
Der Deskriptor ist kein Socket. |
Hinweise
Diese Funktion wird verwendet, um zu melden, welche Netzwerkereignisse für den angegebenen Socket seit dem letzten Aufruf dieser Funktion aufgetreten sind. Sie ist für die Verwendung in Verbindung mit LPWSPEventSelect und LPWSPAsyncSelect vorgesehen, die einem oder mehreren Netzwerkereignissen ein Ereignisobjekt zuordnen. Die Aufzeichnung von Netzwerkereignissen beginnt, wenn LPWSPEventSelect oder LPWSPAsyncSelect mit einem lNetworkEvents-Argument ungleich null aufgerufen wird, und bleibt wirksam, bis ein anderer entsprechender Aufruf von LPWSPEventSelect oder LPWSPAsyncSelect erfolgt, wobei das Argument lNetworkEvents auf null festgelegt ist.
LPWSPEnumNetworkEvents meldet nur Netzwerkaktivitäten und Fehler, die über LPWSPEventSelect benannt wurden. In den Beschreibungen von LPWSPSelect und LPWSPAsyncSelect erfahren Sie, wie diese Funktionen Netzwerkaktivitäten und -fehler melden.
Der interne Datensatz der Netzwerkereignisse des Sockets wird in die Struktur kopiert, auf die von lpNetworkEvents verwiesen wird, wobei der interne Netzwerkereignisdatensatz gelöscht wird. Wenn hEventObject ungleich NULL ist, wird auch das angegebene Ereignisobjekt zurückgesetzt. Der Windows Sockets-Anbieter garantiert, dass die Vorgänge zum Kopieren des Netzwerkereignisdatensatzes, Zum Löschen und Zurücksetzen eines zugeordneten Ereignisobjekts atomar sind, sodass das nächste Vorkommen eines nominierten Netzwerkereignisses dazu führt, dass das Ereignisobjekt festgelegt wird. Im Fall, dass diese Funktion SOCKET_ERROR zurückgibt, wird das zugeordnete Ereignisobjekt nicht zurückgesetzt, und der Datensatz der Netzwerkereignisse wird nicht gelöscht.
Die WSANETWORKEVENTS-Struktur wird auf der WSANETWORKEVENTS-Referenzseite definiert.
Das lNetworkEvents-Element der WSANETWORKEVENTS-Struktur gibt an, welche der FD_XXX Netzwerkereignisse aufgetreten sind. Das iErrorCode-Array wird verwendet, um alle zugeordneten Fehlercodes zu enthalten, wobei der Arrayindex der Position der Ereignisbits in lNetworkEvents entspricht. Die Bezeichner wie FD_READ_BIT und FD_WRITE_BIT können zum Indizieren des iErrorCode-Arrays verwendet werden.
Beachten Sie, dass nur die Elemente des iErrorCode-Arrays festgelegt sind, die den im lNetworkEvents-Element festgelegten Bits entsprechen. Andere Member werden nicht geändert (dies ist wichtig für die Abwärtskompatibilität mit den Windows Socket 2 SPI-Clients, die keine neuen FD_ROUTING_INTERFACE_CHANGE und FD_ADDRESS_LIST_CHANGE Ereignisse kennen).
Die folgenden Fehlercodes können zusammen mit dem jeweiligen Netzwerkereignis zurückgegeben werden.
Ereignis: FD_CONNECT
Fehlercode | Bedeutung |
---|---|
Adressen in der angegebenen Adressfamilie können nicht mit diesem Socket verwendet werden. | |
Ein Versuch, eine Verbindung herzustellen, wurde mit Nachkräften abgelehnt. | |
Das Netzwerk kann von diesem Host zurzeit nicht erreicht werden. | |
Es ist kein Pufferplatz verfügbar. Der Socket kann nicht verbunden werden. | |
Bei einem Verbindungsversuch ist ein Timeout ohne Verbindungsherstellung erfolgt. |
Ereignis: FD_CLOSE
Fehlercode | Bedeutung |
---|---|
Fehler beim Netzwerksubsystem. | |
Die Verbindung wurde von der Remoteseite zurückgesetzt. | |
Die Verbindung wurde aufgrund eines Timeouts oder eines anderen Fehlers beendet. |
Ereignis: FD_READ, FD_WRITE, FD_OOB, FD_ACCEPT, FD_QOS, FD_GROUP_QOS, FD_ADDRESS_LIST_CHANGE
Fehlercode | Bedeutung |
---|---|
Fehler beim Netzwerksubsystem. |
Ereignis: FD_ROUTING_INTERFACE_CHANGE
Fehlercode | Bedeutung |
---|---|
Das angegebene Ziel ist nicht mehr erreichbar. | |
Fehler beim Netzwerksubsystem. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Kopfzeile | ws2spi.h |