RtlRunOnceComplete-Funktion (ntddk.h)
Die RtlRunOnceComplete-Routine schließt die einmalige Initialisierung ab, die mit RtlRunOnceBeginInitialize begonnen wurde.
Syntax
NTSYSAPI NTSTATUS RtlRunOnceComplete(
[in, out] PRTL_RUN_ONCE RunOnce,
[in] ULONG Flags,
[in, optional] PVOID Context
);
Parameter
[in, out] RunOnce
Zeiger auf die RTL_RUN_ONCE einmalige Initialisierungsstruktur.
[in] Flags
Treiber können optional ein oder mehrere der folgenden Flags angeben:
RTL_RUN_ONCE_ASYNC
Arbeiten Sie im asynchronen Modus. Dieser Modus ermöglicht die parallele Ausführung mehrerer Vervollständigungsversuche. Wenn dieses Flag verwendet wird, schlagen nachfolgende Aufrufe der RtlRunOnceComplete-Routine fehl, es sei denn, dieses Flag ist ebenfalls angegeben.
RTL_RUN_ONCE_INIT_FAILED
Fehler beim Initialisierungsversuch.
[in, optional] Context
Gibt die initialisierten Daten an.
Rückgabewert
RtlRunOnceComplete gibt einen der folgenden NTSTATUS-Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
Der Vorgang konnte nicht abgeschlossen werden. Wenn der Aufrufer RTL_RUN_ONCE_ASYNC im Flags-Parameter angegeben hat, kann dieser Wert angeben, dass die Initialisierung von einem anderen Thread abgeschlossen wurde. |
Hinweise
Wenn RtlRunOnceComplete STATUS_SUCCESS zurückgibt, wird bei jedem nachfolgenden Aufruf von RtlRunOnceBeginInitialize für dieselbe RTL_RUN_ONCE-StrukturContext wie die initialisierten Daten angegeben.
Wenn der im Flags-Parameter angegebene Aufrufer RTL_RUN_ONCE_ASYNC und RtlRunOnceComplete einen anderen Wert als STATUS_SUCCESS zurückgibt, muss der Aufrufer alle versuchten Initialisierungen sauber.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und späteren Windows-Versionen. |
Zielplattform | Universell |
Header | ntddk.h (include Ntddk.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |