共用方式為


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

包含其中一個 ADS_PATHTYPE_ENUM 值,指定 varPath 參數的格式。

[in] varData

包含新安全性描述元的 VARIANT 。 安全性描述元的格式是由 lDataFormat 參數所指定。

[in] lDataFormat

包含其中一個 ADS_SD_FORMAT_ENUM 值,指定 VarData 參數中包含的安全性描述元格式。 下列清單會識別此參數的可能值和 VarData 參數的格式。

傳回值

如果成功或 COM 或 Win32 錯誤碼,則傳回 S_OK 否則傳回。 可能的錯誤碼列在下列清單中。

備註

存取控制項目必須以下順序出現在安全性描述項的存取控制清單中:

  • 套用至物件本身的拒絕存取 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