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 を する後続の呼び出しは、初期化されたデータ コンテキスト を提供します。
呼び出し元が Flags パラメーターにRTL_RUN_ONCE_ASYNCを指定し、RtlRunOnceComplete STATUS_SUCCESS以外の値を返す場合、呼び出し元は、試行したすべての初期化をクリーンアップする必要があります。
必要条件
| 要件 | 価値 |
|---|---|
| サポートされる最小クライアント | Windows Vista 以降のバージョンの Windows で使用できます。 |
| ターゲット プラットフォーム の | 万国 |
| ヘッダー | ntddk.h (Ntddk.h を含む) |
| ライブラリ | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | <= APC_LEVEL |
関連項目
RtlRunOnceBeginInitialize の
RtlRunOnceExecuteOnce の
RtlRunOnceInitialize の