IADsSecurityUtility::SetSecurityDescriptor メソッド (iads.h)
SetSecurityDescriptor メソッドは、指定したファイル、ファイル共有、またはレジストリ キーのセキュリティ記述子を設定します。
構文
HRESULT SetSecurityDescriptor(
[in] VARIANT varPath,
[in] long lPathFormat,
[in] VARIANT varData,
[in] long lDataFormat
);
パラメーター
[in] varPath
セキュリティ記述子を設定するオブジェクトのパスを含む VARIANT 文字列。 使用可能な値を次の一覧に示します。
ファイル
有効なファイル パス構文。 たとえば、"c:\specs\public\adxml.doc" または "\adsi\public\dsclient.exe" です。
ファイル共有
ファイル共有の有効なファイル パス構文。 たとえば、"\adsi\public" です。
レジストリ キー
有効なレジストリ構文。 たとえば、"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADs" などです。
[in] lPathFormat
varPath パラメーターの形式を指定するADS_PATHTYPE_ENUM値のいずれかを格納します。
[in] varData
新しいセキュリティ記述子を含む VARIANT 。 セキュリティ記述子の形式は、 lDataFormat パラメーターによって指定されます。
[in] lDataFormat
VarData パラメーターに含まれるセキュリティ記述子の形式を指定するADS_SD_FORMAT_ENUM値のいずれかを格納します。 次の一覧では、このパラメーターに使用できる値と VarData パラメーターの形式を示します。
戻り値
成功した場合 はS_OK を返し、それ以外の場合は COM または Win32 エラー コードを返します。 考えられるエラー コードを次の一覧に示します。
注釈
アクセス制御エントリは、セキュリティ記述子のアクセス制御リストに次の順序で表示する必要があります。
- オブジェクト自体に適用されるアクセス拒否 ACE
- プロパティ セットやプロパティなど、オブジェクトの子に適用されるアクセス拒否 ACE
- オブジェクト自体に適用されるアクセス許可 ACE
- プロパティ セットやプロパティなど、オブジェクトの子に適用されるアクセス許可 ACE
- 継承されたすべての ACE
例
次のコード例は、ファイルのセキュリティ記述子を設定する方法を示しています。
Dim dacl as IADsAccessControlList
Dim sd as IADsSecurityDescriptor
Dim newAce as New AccessControlEntry
Dim sdUtil as New ADsSecurityUtility
Set sd = sdUtil.GetSecurityDescriptor("c:\specs\adsixml.doc", ADS_PATH_FILE, ADS_SD_FORMAT_IID )
Set dacl = sd.DiscretionaryAcl
' Add a new ACE for Jeff Smith.
newAce.Trustee = "Fabrikam\jeffsmith"
newAce.AccessMask = ADS_RIGHT_GENERIC_READ Or ADS_RIGHT_GENERIC_EXECUTE
newAce.AceType = ADS_ACETYPE_ACCESS_ALLOWED
dacl.AddAce newAce
sd.DiscretionaryAcl = dacl
sdUtil.SetSecurityDescriptor "c:\specs\adsixml.doc", ADS_PATH_FILE, sd, ADS_SD_FORMAT_IID
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set dacl = Nothing
Set sd = Nothing
Set newAce = Nothing
Set sdUtil = Nothing
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | iads.h |
[DLL] | Activeds.dll |