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