RtlRunOnceExecuteOnce-Funktion (ntddk.h)
Der RtlRunOnceExecuteOnce führt eine einmalige Initialisierung durch.
Syntax
NTSYSAPI NTSTATUS RtlRunOnceExecuteOnce(
PRTL_RUN_ONCE RunOnce,
PRTL_RUN_ONCE_INIT_FN InitFn,
PVOID Parameter,
PVOID *Context
);
Parameter
[in, out] RunOnce
Ein Zeiger auf die RTL_RUN_ONCE einmalige Initialisierungsstruktur.
[in] InitFn
Ein Zeiger auf eine RunOnceInitialization-Routine .
[in, out] Parameter
Der Wert, der als Parameterparameter an die RunOnceInitialization-Routine übergeben werden soll.
[out] Context
Ein Zeiger auf eine PVOID-Variable, die die initialisierten Daten empfängt.
Rückgabewert
RtlRunOnceExecuteOnce gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist, oder den entsprechenden NTSTATUS-Fehlercode, wenn der Vorgang fehlschlägt.
Hinweise
Für den ersten Aufruf von RtlRunOnceExecuteOnce für eine bestimmte RTL_RUN_ONCE-Struktur ruft RtlRunOnceExecuteOnce die RunOnceInitialization-Routine auf, um die Daten zu initialisieren. Jeder nachfolgende Aufruf von RtlRunOnceExecuteOnce für diese Struktur liefert dieselben initialisierten Daten. Die RunOnceInitialization-Routine wird nicht zweimal für dieselbe RTL_RUN_ONCE-Struktur aufgerufen.
RtlRunOnceExecuteOnce wird mit deaktivierten normalen Kernel-APCs ausgeführt. Die Routine sollte nicht innerhalb eines speziellen Kernel-APC aufgerufen werden, es sei denn, alle Aufrufe erfolgen APC_LEVEL.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows Vista. |
Zielplattform | Universell |
Header | ntddk.h (include Ntddk.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (siehe Abschnitt Hinweise.) |