次の方法で共有


AtlSetSacl

 

指定されたオブジェクトのシステム アクセス制御リスト (SACL: System Access Control List) の情報を設定します。

重要

この関数は Windows ランタイムで実行されるアプリケーションで使用することはできません。

構文

      inline bool AtlSetSacl(
HANDLE hObject,
SE_OBJECT_TYPE ObjectType,
const CSacl& rSacl,
DWORD dwInheritanceFlowControl= 0,
bool bRequestNeededPrivileges= true
) throw(...);

パラメーター

  • hObject
    セキュリティ情報を配置オブジェクトへのハンドル。

  • ObjectType
    hObject のパラメーターで識別されるオブジェクトの型を示す SE_OBJECT_TYPE の列挙体からの値を指定します。

  • rSacl
    新しいセキュリティ情報を含む SACL。

  • dwInheritanceFlowControl
    継承の制御フロー。 この値は 0 (既定値)、PROTECTED_SACL_SECURITY_INFORMATION または UNPROTECTED_SACL_SECURITY_INFORMATION のいずれかになります。

  • bRequestNeededPrivileges
    true の場合、関数は SE_SECURITY_NAME 特権を有効にすると、コンプリートそれを復元します。

戻り値

正常に終了した場合は true を返します。それ以外の場合は false を返します。

解説

デバッグ ビルドでは、アサーション エラーは hObject が無効であるか、dwInheritanceFlowControl が 3 台の許可値の 1 つがでない場合です。

AtlSetSacl が何度も多くの異なるオブジェクトに呼び出されるの場合は、false に設定 bRequestNeededPrivileges が関数を呼び出す前に SE_SECURITY_NAME 特権を一度有効にする方が効率的です。

必要条件

ヘッダー : atlsecurity.h

参照

セキュリティに関するグローバル関数
AtlGetSacl
CSacl クラス