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 |