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

こちらもご覧ください

ADS_PATHTYPE_ENUM

ADS_SD_FORMAT_ENUM

ConvertSecurityDescriptor

IADsSecurityDescriptor

IADsSecurityUtility