RtlRunOnceBeginInitialize-Funktion (ntddk.h)
Die RtlRunOnceBeginInitialize Routine beginnt eine einmalige Initialisierung.
Syntax
NTSYSAPI NTSTATUS RtlRunOnceBeginInitialize(
[in, out] PRTL_RUN_ONCE RunOnce,
[in] ULONG Flags,
[out] 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
Asynchrone Initialisierung durchführen. Der Treiber kann mehrere Abschlussversuche parallel ausführen. Wenn dieses Flag verwendet wird, treten nachfolgende Aufrufe dieser Routine fehl, es sei denn, dieses Flag ist ebenfalls angegeben.
RTL_RUN_ONCE_CHECK_ONLY
Beginnen Sie nicht mit der Initialisierung, überprüfen Sie jedoch, ob die Initialisierung bereits erfolgt ist. Wenn RtlRunOnceBeginInitialize STATUS_SUCCESS zurückgibt, ist die Initialisierung erfolgreich, und *Context- enthält die initialisierten Daten.
[out] Context
Gibt einen Zeiger auf eine PVOID-Variable an, die die initialisierten Daten empfängt. Der Wert von *Context ist nur gültig, wenn die Routine STATUS_SUCCESS zurückgibt.
Rückgabewert
RtlRunOnceBeginInitialize gibt einen der folgenden NTSTATUS-Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Die einmalige Initialisierung wurde bereits abgeschlossen. Die initialisierten Daten werden im Speicherspeicherort gespeichert, auf den Context verweist. |
|
Der Aufrufer hat erfolgreich mit der einmaligen Initialisierung begonnen. Der Aufrufer führt nun die treiberspezifischen Initialisierungsschritte aus und ruft dann RtlRunOnceComplete- auf, um die Initialisierung abzuschließen. |
Bemerkungen
Treiber können alternativ eine einmalige Initialisierung durchführen, indem RtlRunOnceExecuteOnce- aufgerufen und eine RunOnceInitialization- Routine bereitgestellt wird.
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 |