Freigeben über


SetIoRingCompletionEvent-Funktion (ioringapi.h)

Registriert ein Vervollständigungswarteschlangenereignis mit einem E/A-Ring.

Syntax

HRESULT SetIoRingCompletionEvent(
  HIORING ioRing,
  HANDLE  hEvent
);

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 mit den folgenden Werten zurück:

Wert BESCHREIBUNG
S_OK Erfolg
E_INVALID_HANDLE Im ioRing-Parameter wurde ein ungültiges Handle übergeben.
E_INVALIDARG Im hEvent-Parameter wurde ein ungültiges Handle übergeben.

Hinweise

Der Kernel signalisiert dieses Ereignis, wenn er den ersten Eintrag in einer leeren Vervollständigungswarteschlange platziert, d. h. der Kernel legt das Ereignis nur auf den signalierten Zustand fest, wenn die Vervollständigungswarteschlange vom leeren in den nicht leeren Zustand übergeht. Anwendungen sollten PopIoRingCompletion aufrufen, bis keine weiteren Einträge mehr angezeigt werden, und dann warten, bis weitere asynchrone Vervollständigungen über den bereitgestellten HANDLE abgeschlossen sind. Andernfalls wird das Ereignis nicht in den signalisierten Zustand versetzt, und die Wartezeit kann bis zu einem Timeout oder für immer blockiert werden, wenn ein unendliches Timeout verwendet wird.

Der Kernel dupliziert intern das Handle, sodass es für die Anwendung sicher ist, das Handle zu schließen, wenn Wartezeiten nicht mehr erforderlich sind. Die Angabe eines Ereignishandleswerts von NULL löscht einfach alle vorhandenen Werte. Wenn Sie einen Wert von INVALID_HANDLE_VALUE festlegen, wird ein Fehler ausgelöst, ebenso wie jeder andere ungültige Handle-Wert, um Codefehler frühzeitig zu erkennen.

Es gibt höchstens ein Ereignishandle, das einem HIORING zugeordnet ist. Der Versuch, ein zweites festzulegen, ersetzt alle bereits vorhandenen Ereignisse.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Build 22000
Unterstützte Mindestversion (Server) Windows Build 22000
Kopfzeile ioringapi.h

Weitere Informationen

PopIoRingCompletion