KeInitializeSemaphore 関数 (wdm.h)
KeInitializeSemaphore ルーチンは、指定されたカウントを使用してセマフォ オブジェクトを初期化し、カウントで取得できる上限を指定します。
構文
void KeInitializeSemaphore(
[out] PRKSEMAPHORE Semaphore,
[in] LONG Count,
[in] LONG Limit
);
パラメーター
[out] Semaphore
呼び出し元がストレージを提供する、セマフォ型のディスパッチャー オブジェクトへのポインター。
[in] Count
セマフォに割り当てる初期カウント値を指定します。 必ず正の値を指定します。 0 以外の値を指定すると、セマフォの初期状態が signaled に設定されます。
[in] Limit
セマフォが取得できる最大カウント値を指定します。 必ず正の値を指定します。 セマフォがシグナル状態に設定され、セマフォが保護するリソースにアクセスできる場合に、実行の対象となる待機スレッドの数が決定されます。
戻り値
なし
解説
セマフォ オブジェクトは、指定された初期カウントと制限で初期化されます。
セマフォ オブジェクトの記憶域は、ドライバーによって作成されたデバイス オブジェクトのデバイス拡張機能、ドライバーによって作成されたコントローラー オブジェクトのコントローラー拡張機能、または呼び出し元によって割り当てられた非ページ プール内に存在する必要があります。
セマフォ オブジェクトの詳細については、「 Semaphore オブジェクト」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport), IrqlKeDispatchLte(wdm), PowerIrpDDis(wdm) |