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
Parameter パラメーターとして RunOnceInitialization ルーチンに渡す値。
[out] Context
初期化されたデータを受け取る PVOID 変数へのポインター。
戻り値
RtlRunOnceExecuteOnce は、操作が成功した場合はSTATUS_SUCCESSを返し、操作が失敗した場合は適切な NTSTATUS エラー コードを返します。
注釈
特定のRTL_RUN_ONCE構造体に対して RtlRunOnceExecuteOnce を最初に呼び出す場合、RtlRunOnceExecuteOnce はRunOnceInitialization ルーチンを呼び出してデータを初期化します。 その構造体に対して RtlRunOnceExecuteOnce を後続で呼び出すたびに、同じ初期化されたデータが提供されます。 RunOnceInitialization ルーチンは、同じRTL_RUN_ONCE構造体に対して 2 回呼び出されません。
RtlRunOnceExecuteOnce は、通常のカーネル APC が無効になっている状態で実行されます。 すべての呼び出しがAPC_LEVELで発生しない限り、特別なカーネル APC 内でルーチンを呼び出さないでください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | ntddk.h (Ntddk.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= APC_LEVEL (「解説」セクションを参照)。 |