Share via


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
WSAENETDOWN
Fehler beim Netzwerksubsystem.
WSAEINVAL
Gibt an, dass einer der angegebenen Parameter ungültig war.
WSAEINPROGRESS
Ein blockierter Windows Sockets-Aufruf wird ausgeführt, oder der Dienstanbieter verarbeitet weiterhin eine Rückruffunktion.
WSAENOTSOCK
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
WSAEAFNOSUPPORT
Adressen in der angegebenen Adressfamilie können nicht mit diesem Socket verwendet werden.
WSAECONNREFUSED
Ein Versuch, eine Verbindung herzustellen, wurde mit Nachkräften abgelehnt.
WSAENETUNREACH
Das Netzwerk kann von diesem Host zurzeit nicht erreicht werden.
WSAENOBUFS
Es ist kein Pufferplatz verfügbar. Der Socket kann nicht verbunden werden.
WSAETIMEDOUT
Bei einem Verbindungsversuch ist ein Timeout ohne Verbindungsherstellung erfolgt.

Ereignis: FD_CLOSE

Fehlercode Bedeutung
WSAENETDOWN
Fehler beim Netzwerksubsystem.
WSAECONNRESET
Die Verbindung wurde von der Remoteseite zurückgesetzt.
WSAECONNABORTED
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
WSAENETDOWN
Fehler beim Netzwerksubsystem.

Ereignis: FD_ROUTING_INTERFACE_CHANGE

Fehlercode Bedeutung
WSAENETUNREACH
Das angegebene Ziel ist nicht mehr erreichbar.
WSAENETDOWN
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

Weitere Informationen

LPWSPEventSelect