AddConditionalAce 함수(winbase.h)
AddConditionalAce 함수는 지정된 ACL(액세스 제어 목록)에 ACE(조건부 액세스 제어 항목)를 추가합니다. 조건부 ACE는 액세스 검사 중에 평가되는 논리적 조건을 지정합니다.
구문
BOOL AddConditionalAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] UCHAR AceType,
[in] DWORD AccessMask,
[in] PSID pSid,
[in] PWCHAR ConditionStr,
[out] DWORD *ReturnLength
);
매개 변수
[in, out] pAcl
ACL에 대한 포인터입니다. 이 함수는 이 ACL에 ACE를 추가합니다.
이 매개 변수의 값은 NULL일 수 없습니다.
[in] dwAceRevision
수정할 ACL의 수정 수준을 지정합니다. 이 값은 ACL_REVISION 또는 ACL_REVISION_DS 수 있습니다. ACL에 개체별 ACE가 포함된 경우 ACL_REVISION_DS 사용합니다.
[in] AceFlags
ACE 상속을 제어하는 비트 플래그 집합입니다. 함수는 새 ACE의 ACE_HEADER 구조체의 AceFlags 멤버에서 이러한 플래그를 설정합니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.
[in] AceType
ACE의 형식입니다.
다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
ACCESS_ALLOWED_CALLBACK_ACE 구조를 사용하는 액세스 허용 콜백 ACE입니다. |
|
ACCESS_DENIED_CALLBACK_ACE 구조를 사용하는 액세스 거부 콜백 ACE입니다. |
|
SYSTEM_AUDIT_CALLBACK_ACE 구조를 사용하는 시스템 감사 콜백 ACE입니다. |
[in] AccessMask
지정된 SID에 부여할 액세스 권한의 마스크를 지정합니다.
[in] pSid
액세스 권한이 부여되는 사용자, 그룹 또는 로그온 계정을 나타내는 SID에 대한 포인터입니다.
[in] ConditionStr
ACE에 대해 평가할 조건문을 지정하는 문자열입니다.
[out] ReturnLength
ACL의 크기(바이트)입니다. pACL 매개 변수로 지정된 버퍼의 크기가 충분하지 않으면 이 매개 변수의 값이 필요한 크기입니다.
반환 값
함수가 성공하면 TRUE를 반환합니다.
함수가 실패하면 FALSE를 반환합니다. 확장 오류 정보는 GetLastError를 호출합니다. 가능한 오류 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
새 ACE가 pAcl 버퍼에 맞지 않습니다. |
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |