RtlRunOnceComplete 関数 (ntddk.h)
RtlRunOnceComplete ルーチンは、RtlRunOnceBeginInitialize によって開始された 1 回限りの初期化を完了します。
構文
NTSYSAPI NTSTATUS RtlRunOnceComplete(
[in, out] PRTL_RUN_ONCE RunOnce,
[in] ULONG Flags,
[in, optional] PVOID Context
);
パラメーター
[in, out] RunOnce
RTL_RUN_ONCE 1 回限 りの 初期化構造体へのポインター。
[in] Flags
ドライバーは、必要に応じて、次のフラグの 1 つ以上を指定できます。
RTL_RUN_ONCE_ASYNC
非同期モードで動作します。 このモードでは、複数の完了試行を並列で実行できます。 このフラグを使用すると、このフラグも指定されていない限り、 RtlRunOnceComplete ルーチンの後続の呼び出しは失敗します。
RTL_RUN_ONCE_INIT_FAILED
初期化の試行に失敗しました。
[in, optional] Context
初期化されたデータを指定します。
戻り値
RtlRunOnceComplete は、次のいずれかの NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
|
操作は正常に完了しました。 |
|
操作を完了できませんでした。 呼び出し元が Flags パラメーターにRTL_RUN_ONCE_ASYNC指定した場合、この値は、別のスレッドが初期化を完了したことを示すことができます。 |
注釈
RtlRunOnceComplete がSTATUS_SUCCESSを返す場合、同じRTL_RUN_ONCE構造体に対する RtlRunOnceBeginInitialize の後続の呼び出しでは、初期化されたデータとして Context が提供されます。
呼び出し元が Flags パラメーターにRTL_RUN_ONCE_ASYNC指定し、RtlRunOnceComplete がSTATUS_SUCCESS以外の値を返す場合、呼び出し元は、試行した初期化をクリーンする必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | ntddk.h (Ntddk.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= APC_LEVEL |