Freigeben über


RtlRunOnceComplete-Funktion (ntddk.h)

Die RtlRunOnceComplete Routine schließt die einmalige Initialisierung ab, die von RtlRunOnceBeginInitializebegann.

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 eine oder mehrere der folgenden Flags angeben:

RTL_RUN_ONCE_ASYNC

Arbeiten Sie im asynchronen Modus. Dieser Modus ermöglicht die parallele Ausführung mehrerer Abschlussversuche. Wenn dieses Flag verwendet wird, treten 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
STATUS_SUCCESS
Der Vorgang wurde erfolgreich abgeschlossen.
STATUS_UNSUCCESSFUL
Der Vorgang konnte nicht abgeschlossen werden. Wenn der aufrufer im parameter Flags angegeben RTL_RUN_ONCE_ASYNC, kann dieser Wert darauf hinweisen, dass ein anderer Thread die Initialisierung abgeschlossen hat.

Bemerkungen

Wenn RtlRunOnceComplete STATUS_SUCCESS zurückgibt, stellt jeder nachfolgende Aufruf von RtlRunOnceBeginInitialize für dieselbe RTL_RUN_ONCE Struktur Context als initialisierte Daten bereit.

Wenn der aufrufer im parameter Flags angegeben RTL_RUN_ONCE_ASYNC und RtlRunOnceComplete einen anderen Wert als STATUS_SUCCESS zurückgibt, muss der Aufrufer alle initialisierungen bereinigen, die er versucht hat.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows Vista und höheren Versionen von Windows.
Zielplattform- Universal
Header- ntddk.h (include Ntddk.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL

Siehe auch

RTL_RUN_ONCE

RtlRunOnceBeginInitialize

RtlRunOnceExecuteOnce

RtlRunOnceInitialize

RunOnceInitialization-