<Return[S]><Top>

SetSecurityDescriptorControl

Declare Function Api_SetSecurityDescriptorControl& Lib "advapi32" Alias "SetSecurityDescriptorControl" (ByRef pSecurityDescriptor As SECURITY_DESCRIPTOR, ByVal ControlBitsOfInterest%, ByVal ControlBitsToSet%)

Declare Function SetSecurityDescriptorControl Lib "advapi32" Alias "SetSecurityDescriptorControl" (ByRef pSecurityDescriptor As SECURITY_DESCRIPTOR, ByVal ControlBitsOfInterest As Integer, ByVal ControlBitsToSet As Integer) As Long

セキュリティ記述子の制御ビットを設定する。この関数は、ACE(アクセス制御エントリ)の自動的な継承に関連する制御ビットだけを設定する。セキュリティ記述子の他の制御ビットを設定するには、セキュリティ記述子の構成要素を変更する SetSecurityDescriptorDacl 関数などの Win32 関数を使う。

パラメータ
pSecurityDescriptor
    制御情報と改訂情報を設定する 1 つの
SECURITY_DESCRIPTOR 構造体へのポインタを指定する。
ControlBitsOfInterest
    設定する制御ビットを示す マスクを指定する。このマスクには、次のフラグを任意に組み合わせて指定することができる。

    値                                                   

意味                                                                                                                    

    SE_DACL_AUTO_INHERIT_REQ

 

 

セキュリティ記述子によって保護されているオブジェクトの DACL(随意アクセス制御リスト)を既存の子オブジェクトへ自動的に伝播するようプロバイダに要求する。プロバイダが自動的な継承をサポートしている場合、DACL をすべての既存の子オブジェクトへ伝播し、オブジェクトとその子オブジェクトの各セキュリティ記述子の SE_DACL_AUTO_INHERITED ビットをセットする。

    SE_DACL_AUTO_INHERITED

 

 

 

セキュリティ記述子の DACL のうち、継承 ACE を既存の子オブジェクトへ自動的に伝播する機能をサポートするよう指示する。オブジェクトとその既存の子オブジェクトに対する自動的な継承アルゴリズムが実装されている場合にのみ、このビットがセットされる。
Windows NT Version 4.0 以前のセキュリティ記述子ではこのビットはセットされない。これらのセキュリティ記述子は、継承 ACE の自動的な伝播をサポートしていないからである。

    SE_DACL_PROTECTED

セキュリティ記述子の DACL が継承 ACE によって変更されないように保護する。

    SE_SACL_AUTO_INHERIT_REQ

 

 

セキュリティ記述子によって保護されているオブジェクトの SACL(システムアクセス制御リスト)を既存の子オブジェクトへ自動的に伝播するようプロバイダに要求する。プロバイダが自動的な継承をサポートしている場合、SACL をすべての既存の子オブジェクトへ伝播し、オブジェクトとその子オブジェクトの各セキュリティ記述子の SE_SACL_AUTO_INHERITED ビットをセットする。

    SE_SACL_AUTO_INHERITED

 

 

 

セキュリティ記述子の SACL のうち、継承 ACE を既存の子オブジェクトへ自動的に伝播する機能をサポートするよう指示する。オブジェクトとその既存の子オブジェクトに対する自動的な継承アルゴリズムが実装されている場合にのみ、このビットがセットされる。
Windows NT Version 4.0 以前のセキュリティ記述子ではこのビットはセットされない。これらのセキュリティ記述子は、継承 ACE の自動的な伝播をサポートしていないからである。

    SE_SACL_PROTECTED

セキュリティ記述子の SACL が継承 ACE によって変更されないように保護する。

ControlBitsToSet
    ControlBitsOfInterest マスクによって指定された制御ビットの新しい値を示す マスクである。このパラメータは、ControlBitsOfInterest パラ

    メータの説明で示したものと同じフラグの任意の組み合わせになる。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    SetSecurityDescriptorControl 関数は、制御ビットまたは変更するビット、およびそれらのビットをオンとオフのどちらに設定するかを示す。た

    とえば、次のコードはセキュリティ記述子の DACL を保護するよう指示している。
    Ret = Api_SetSecurityDescriptorControl(&SecDesc, SE_DACL_PROTECTED, SE_DACL_PROTECTED)
    また、次のコードは DACL を保護しないよう指示している。
    Ret = Api_SetSecurityDescriptorControl(&SecDesc, SE_DACL_PROTECTED, 0)