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 오류 코드를 반환합니다. 가능한 오류 코드는 다음 목록에 나열됩니다.
설명
액세스 제어 항목은 보안 설명자의 액세스 제어 목록에 다음 순서로 표시되어야 합니다.
- 개체 자체에 적용되는 액세스 거부 ACL
- 속성 집합 또는 속성과 같이 개체의 자식에 적용되는 액세스 거부 ACL
- 개체 자체에 적용되는 액세스 허용 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 |