다음을 통해 공유


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

추가 정보

ADS_PATHTYPE_ENUM

ADS_SD_FORMAT_ENUM

ConvertSecurityDescriptor

IADsSecurityDescriptor

IADsSecurityUtility