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 |