Share via


EngInitializeSafeSemaphore 関数 (winddi.h)

EngInitializeSafeSemaphore 関数は、指定されたセーフ セマフォを初期化します。

構文

ENGAPI BOOL EngInitializeSafeSemaphore(
  [out] ENGSAFESEMAPHORE *pssem
);

パラメーター

[out] pssem

初期化するドライバー割り当て ENGSAFESEMAPHORE 構造体へのポインター。

戻り値

EngInitializeSafeSemaphore は、成功すると TRUE を 返します。 それ以外の場合は、 FALSE を返します。

注釈

EngInitializeSafeSemaphoreEngDeleteSafeSemaphore はスレッド セーフであり、ロックの下で動作し、セマフォの参照カウントを維持します。 これにより、同時呼び出しの数に関係なくセマフォが 1 つだけ作成され、セマフォが最後の参照が解放されるまで存在することが保証されます。

安全なセマフォが初期化されると、ドライバーは EngAcquireSemaphoreEngReleaseSemaphore を、同期のために ENGSAFESEMAPHORE 構造体の hsem メンバーと共に呼び出すことができます。

EngInitializeSafeSemaphore の呼び出し元は、セマフォが不要になったときに EngDeleteSafeSemaphore を呼び出す必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム ユニバーサル
Header winddi.h (Winddi.h を含む)
Library Win32k.lib
[DLL] Win32k.sys

こちらもご覧ください

ENGSAFESEMAPHORE

EngAcquireSemaphore

EngDeleteSafeSemaphore

EngIsSemaphoreOwned

EngIsSemaphoreOwnedByCurrentThread

EngReleaseSemaphore