RtlRunOnceExecuteOnce 函式 (ntddk.h)
RtlRunOnceExecuteOnce 會執行一次性初始化。
語法
NTSYSAPI NTSTATUS RtlRunOnceExecuteOnce(
PRTL_RUN_ONCE RunOnce,
PRTL_RUN_ONCE_INIT_FN InitFn,
PVOID Parameter,
PVOID *Context
);
參數
[in, out] RunOnce
RTL_RUN_ONCE一次性初始化結構的指標。
[in] InitFn
RunOnceInitialization 例程的指標。
[in, out] Parameter
要當做 Parameter 參數傳遞至 RunOnceInitialization 例程的值。
[out] Context
接收初始化數據的 PVOID 變數指標。
傳回值
如果作業成功,RtlRunOnceExecuteOnce 會傳回STATUS_SUCCESS,如果作業失敗,則會傳回適當的 NTSTATUS 錯誤碼。
備註
針對特定RTL_RUN_ONCE結構對 RtlRunOnceExecuteOnce 的第一次呼叫,RtlRunOnceExecuteOnce 會呼叫 RunOnceInitialization 例程來初始化數據。 針對該結構,每個後續對 RtlRunOnceExecuteOnce 的呼叫都會提供相同的初始化數據。 相同的RTL_RUN_ONCE結構不會呼叫 RunOnceInitialization 例程兩次。
RtlRunOnceExecuteOnce 會停用一般核心 APC 執行。 除非在APC_LEVEL發生所有呼叫,否則不應該在特殊核心 APC 內呼叫例程。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows Vista 開始提供。 |
目標平台 | Universal |
標頭 | ntddk.h (包含 Ntddk.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL (请参阅一节。) |