パラメータ
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) |