Freigeben über


SetIoRingCompletionEvent-Funktion (ioringapi.h)

Registriert ein Abschlusswarteschlangenereignis mit einem E/A-Ring.

Syntax

HRESULT SetIoRingCompletionEvent(
  HIORING ioRing,
  HANDLE  hEvent
);

Die Parameter

ioRing

Ein HIORING , der ein Handle für den E/A-Ring darstellt, für den das Abschlussereignis registriert ist.

hEvent

Ein Handle für das Ereignisobjekt. Die CreateEvent - oder OpenEvent-Funktion gibt dieses Handle zurück.

Rückgabewert

Gibt ein HRESULT einschließlich der folgenden Werte zurück:

Wert Description
S_OK Success
E_INVALID_HANDLE Ein ungültiges Handle wurde im ioRing-Parameter übergeben.
E_INVALIDARG Ein ungültiges Handle wurde im hEvent-Parameter übergeben.

Bemerkungen

Der Kernel signalisiert dieses Ereignis, wenn er den ersten Eintrag in eine leere Vervollständigungswarteschlange eingibt, d. h. der Kernel legt das Ereignis nur auf den signalierten Zustand fest, wenn die Abschlusswarteschlange von der leeren in den nicht leeren Zustand wechselt. Anwendungen sollten PopIoRingCompletion aufrufen, bis sie keine weiteren Einträge angibt, und warten Sie dann, bis weitere asynchrone Fertigstellungen über das bereitgestellte HANDLE abgeschlossen sind. Andernfalls wechselt das Ereignis nicht in den signalisierten Zustand, und die Wartezeit kann blockiert werden, bis ein Timeout auftritt, oder für immer, wenn ein unendliches Timeout verwendet wird.

Der Kernel dupliziert intern das Handle, sodass es sicher ist, dass die Anwendung das Handle schließt, wenn Wartezeiten nicht mehr benötigt werden. Wenn Sie einen Ereignishandlewert von NULL angeben, werden alle vorhandenen Werte gelöscht. Wenn Sie einen Wert von INVALID_HANDLE_VALUE festlegen, wird ein Fehler ausgelöst, wie jeder andere ungültige Handle-Wert, um codefehler frühzeitig zu erkennen.

Es gibt höchstens ein Ereignishandle, das einem HIORING zugeordnet ist und versucht, eine zweite festzulegen, ersetzt alle bereits vorhandenen Ereignisse.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows Build 22000
Mindestanforderungen für unterstützte Server Windows Build 22000
Header ioringapi.h
Library kernel32. Befreien

Siehe auch

PopIoRingCompletion-