オブジェクトへのアクセス権の要求
オブジェクトのハンドルを開くと、返されるハンドルには、オブジェクトへのアクセス権の組み合わせがあります。 CreateSemaphoreなどの一部の関数では、要求されたアクセス権の特定のセットは必要ありません。 これらの関数は常に、フル アクセスのためにハンドルを開こうとします。 CreateFile や OpenProcessなどの他の関数では、必要なアクセス権のセットを指定できます。 フル アクセス用のハンドルを開くのではなく、必要なアクセス権のみを要求する必要があります。 これにより、意図しない方法でハンドルが使用されるのを防ぎ、オブジェクトの DACL で制限付きアクセスのみが許可されている場合にアクセス要求が成功する可能性が高くなります。
汎用アクセス権 使用して、オブジェクトへのハンドルを開くときに必要なアクセスの種類を指定します。 これは通常、対応するすべての標準および特定の権限を指定するよりも簡単です。 または、MAXIMUM_ALLOWED定数を使用して、呼び出し元に対して有効なすべてのアクセス権でオブジェクトを開くよう要求します。
手記
MAXIMUM_ALLOWED定数は ACE では使用できません。
オブジェクトの セキュリティ記述子で SACL を取得または設定するには、オブジェクトへのハンドルを開くときに ACCESS_SYSTEM_SECURITY アクセス権 を要求します。