RtlRunOnceExecuteOnce 関数 (ntddk.h)
RtlRunOnceExecuteOnce は、1 回限りの初期化を実行します。
構文
NTSYSAPI NTSTATUS RtlRunOnceExecuteOnce(
PRTL_RUN_ONCE RunOnce,
PRTL_RUN_ONCE_INIT_FN InitFn,
PVOID Parameter,
PVOID *Context
);
パラメーター
[in, out] RunOnce
RTL_RUN_ONCE 1 回限りの初期化構造体へのポインター。
[in] InitFn
RunOnceInitialization ルーチンへのポインター。
[in, out] Parameter
パラメーター パラメーターとして RunOnceInitialization ルーチンに渡す値。
[out] Context
初期化されたデータを受け取る PVOID 変数へのポインター。
戻り値
RtlRunOnceExecuteOnce は、操作が成功した場合はSTATUS_SUCCESSを返し、操作が失敗した場合は適切な NTSTATUS エラー コードを返します。
備考
特定の RTL_RUN_ONCE 構造体に対して RtlRunOnceExecuteOnce を する最初の呼び出しでは、RtlRunOnceExecuteOnce 、RunOnceInitialization ルーチンを呼び出してデータを初期化します。 その構造体 RtlRunOnceExecuteOnce を後続で呼び出すたびに、同じ初期化されたデータが提供されます。 RunOnceInitialization ルーチンは、同じ RTL_RUN_ONCE 構造体に対して 2 回呼び出されません。
RtlRunOnceExecuteOnce 、通常のカーネル API が無効になっている状態で実行されます。 すべての呼び出しがAPC_LEVELで発生しない限り、特別なカーネル APC 内でルーチンを呼び出さないでください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ntddk.h (Ntddk.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (「解説」セクションを参照)。 |
関連項目
RtlRunOnceBeginInitialize の
RtlRunOnceComplete の
RtlRunOnceInitialize の