CAcl 클래스
이 클래스는 (액세스 제어 목록) 구조체에 ACL
대한 래퍼입니다.
Important
이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.
구문
class CAcl
멤버
공용 Typedefs
속성 | 설명 |
---|---|
CAcl::CAccessMaskArray | ACCESS_MASKs 배열입니다. |
CAcl::CAceFlagArray | BYTE의 배열입니다. |
CAcl::CAceTypeArray | BYTE의 배열입니다. |
공용 생성자
속성 | 설명 |
---|---|
CAcl::CAcl | 생성자입니다. |
CAcl::~CAcl | 소멸자입니다. |
공용 메서드
이름 | 설명 |
---|---|
CAcl::GetAceCount | ACE(액세스 제어 항목) 개체의 수를 반환합니다. |
CAcl::GetAclEntries | 개체에서 CAcl ACL(액세스 제어 목록) 항목을 검색합니다. |
CAcl::GetAclEntry | 개체의 항목에 대한 모든 정보를 검색 CAcl 합니다. |
CAcl::GetLength | ACL의 길이를 반환합니다. |
CAcl::GetPACL | PACL(ACL에 대한 포인터)을 반환합니다. |
CAcl::IsEmpty | 개체에서 CAcl 항목을 테스트합니다. |
CAcl::IsNull | 개체의 CAcl 상태를 반환합니다. |
CAcl::RemoveAce | 개체에서 특정 ACE(액세스 제어 항목)를 CAcl 제거합니다. |
CAcl::RemoveAces | 지정된 CSid 에 적용되는 모든 ACE(액세스 제어 항목)CAcl 를 제거합니다. |
CAcl::SetEmpty | 개체를 CAcl 빈 개체로 표시합니다. |
CAcl::SetNull | 개체를 CAcl NULL로 표시합니다. |
Public 연산자
속성 | 설명 |
---|---|
CAcl::operator const ACL * | 개체를 CAcl 구조체로 캐스팅 ACL 합니다. |
CAcl::operator = | 대입 연산자입니다. |
설명
구조는 ACL
ACL(액세스 제어 목록)의 헤더입니다. ACL에는 0개 이상의 ACE (액세스 제어 항목)의 순차적 목록이 포함됩니다. ACL의 개별 ACE는 0에서 n-1로 번호가 매겨집니다. 여기서 n은 ACL의 ACE 수입니다. ACL을 편집할 때 애플리케이션은 ACL 내의 ACE(액세스 제어 항목)를 인덱스로 참조합니다.
두 가지 ACL 유형이 있습니다.
임의
시스템
임의 ACL은 개체 소유자 또는 개체에 대한 액세스 권한을 부여받은 모든 사용자가 WRITE_DAC 제어합니다. 특정 사용자 및 그룹이 개체에 대해 가질 수 있는 액세스를 지정합니다. 예를 들어 파일 소유자는 임의 ACL을 사용하여 파일에 액세스할 수 있고 파일에 액세스할 수 없는 사용자 및 그룹을 제어할 수 있습니다.
또한 개체는 시스템 관리자가 제어하는 시스템 ACL 형식으로 연결된 시스템 수준 보안 정보를 가질 수 있습니다. 시스템 ACL을 사용하면 시스템 관리자가 개체에 액세스하려는 모든 시도를 감사할 수 있습니다.
자세한 내용은 Windows SDK의 ACL 토론을 참조하세요.
Windows의 액세스 제어 모델에 대한 소개는 Windows SDK의 Access Control을 참조하세요.
요구 사항
헤더: atlsecurity.h
CAcl::CAccessMaskArray
ACCESS_MASK 개체의 배열입니다.
typedef CAtlArray<ACCESS_MASK> CAccessMaskArray;
설명
이 typedef는 ACE(액세스 제어 항목)에 사용되는 액세스 권한을 저장하는 데 사용할 수 있는 배열 형식을 지정합니다.
CAcl::CAceFlagArray
BYTE의 배열입니다.
typedef CAtlArray<BYTE> CAceFlagArray;
설명
이 typedef는 ACE(액세스 제어 항목) 형식별 컨트롤 플래그를 정의하는 데 사용되는 배열 형식을 지정합니다. 가능한 플래그의 전체 목록은 ACE_HEADER 정의를 참조하세요.
CAcl::CAceTypeArray
BYTE의 배열입니다.
typedef CAtlArray<BYTE> CAceTypeArray;
설명
이 typedef는 ACCESS_ALLOWED_ACE_TYPE 또는 ACCESS_DENIED_ACE_TYPE 같은 ACE(액세스 제어 항목) 개체의 특성을 정의하는 데 사용되는 배열 형식을 지정합니다. 가능한 형식의 전체 목록은 ACE_HEADER 정의를 참조하세요.
CAcl::CAcl
생성자입니다.
CAcl() throw();
CAcl(const CAcl& rhs) throw(...);
매개 변수
rhs
기존 CAcl
개체입니다.
설명
CAcl
필요에 따라 기존 CAcl
개체를 사용하여 개체를 만들 수 있습니다.
CAcl::~CAcl
소멸자입니다.
virtual ~CAcl() throw();
설명
소멸자가 개체에서 획득한 모든 리소스를 해제합니다.
CAcl::GetAceCount
ACE(액세스 제어 항목) 개체의 수를 반환합니다.
virtual UINT GetAceCount() const throw() = 0;
Return Value
개체의 ACE 항목 수를 반환합니다 CAcl
.
CAcl::GetAclEntries
개체에서 CAcl
ACL(액세스 제어 목록) 항목을 검색합니다.
void GetAclEntries(
CSid::CSidArray* pSids,
CAccessMaskArray* pAccessMasks = NULL,
CAceTypeArray* pAceTypes = NULL,
CAceFlagArray* pAceFlags = NULL) const throw(...);
매개 변수
pSids
CSid 개체 배열에 대한 포인터입니다.
pAccessMasks
액세스 마스크입니다.
pAceTypes
ACE(액세스 제어 항목) 형식입니다.
pAceFlags
ACE 플래그입니다.
설명
이 메서드는 개체에 포함된 모든 ACE 개체의 세부 정보로 배열 매개 변수를 CAcl
채웁니다. 특정 배열에 대한 세부 정보가 필요하지 않은 경우 NULL을 사용합니다.
각 배열의 내용은 서로 일치합니다. 즉, 배열의 첫 번째 요소는 배열의 CAccessMaskArray
첫 번째 요소 CSidArray
에 해당합니다.
ACE 형식 및 플래그에 대한 자세한 내용은 ACE_HEADER 참조하세요.
CAcl::GetAclEntry
ACL(액세스 제어 목록)의 항목에 대한 모든 정보를 검색합니다.
void GetAclEntry(
UINT nIndex,
CSid* pSid,
ACCESS_MASK* pMask = NULL,
BYTE* pType = NULL,
BYTE* pFlags = NULL,
GUID* pObjectType = NULL,
GUID* pInheritedObjectType = NULL) const throw(...);
매개 변수
nIndex
검색할 ACL 항목에 대한 인덱스입니다.
pSid
ACL 항목이 적용되는 CSid 개체입니다.
pMask
액세스 권한을 부여하거나 거부할 권한을 지정하는 마스크입니다.
pType
ACE 형식입니다.
pFlags
ACE 플래그입니다.
pObjectType
개체 유형입니다. 개체 형식이 ACE에 지정되지 않았거나 ACE가 OBJECT ACE가 아닌 경우 GUID_NULL 설정됩니다.
pInheritedObjectType
상속된 개체 형식입니다. 상속된 개체 형식이 ACE에 지정되지 않았거나 ACE가 OBJECT ACE가 아닌 경우 GUID_NULL 설정됩니다.
설명
이 메서드는 개별 ACE에 대한 모든 정보를 검색하여 CAcl::GetAclEntries만 사용할 수 있는 것보다 더 많은 정보를 제공합니다.
ACE 형식 및 플래그에 대한 자세한 내용은 ACE_HEADER 참조하세요.
CAcl::GetLength
ACL(액세스 제어 목록)의 길이를 반환합니다.
UINT GetLength() const throw();
Return Value
구조를 유지하는 데 필요한 길이(바이트)를 반환합니다 ACL
.
CAcl::GetPACL
ACL(액세스 제어 목록)에 대한 포인터를 반환합니다.
const ACL* GetPACL() const throw(...);
Return Value
구조체에 대한 포인터를 반환합니다 ACL
.
CAcl::IsEmpty
개체에서 CAcl
항목을 테스트합니다.
bool IsEmpty() const throw();
설명
개체가 NULL이 아니고 항목이 CAcl
없는 경우 TRUE를 반환합니다. 개체가 CAcl
NULL이거나 하나 이상의 항목을 포함하는 경우 FALSE를 반환합니다.
CAcl::IsNull
개체의 CAcl
상태를 반환합니다.
bool IsNull() const throw();
Return Value
개체가 NULL이면 TRUE를 CAcl
반환하고, 그렇지 않으면 FALSE를 반환합니다.
CAcl::operator const ACL *
개체 ACL
를 CAcl
(액세스 제어 목록) 구조체로 캐스팅합니다.
operator const ACL *() const throw(...);
설명
구조체의 주소를 반환합니다 ACL
.
CAcl::operator =
대입 연산자입니다.
CAcl& operator= (const CAcl& rhs) throw(...);
매개 변수
rhs
CAcl
기존 개체에 할당할 대상입니다.
Return Value
업데이트 CAcl
된 개체에 대한 참조를 반환합니다.
CAcl::RemoveAce
개체에서 특정 ACE(액세스 제어 항목)를 CAcl
제거합니다.
void RemoveAce(UINT nIndex) throw();
매개 변수
nIndex
제거할 ACE 항목의 인덱스입니다.
설명
이 메서드는 CAtlArray::RemoveAt에서 파생됩니다.
CAcl::RemoveAces
지정된 CSid
ACL에 적용되는 모든 ACE(액세스 제어 항목)CAcl
를 제거합니다.
bool RemoveAces(const CSid& rSid) throw(...)
매개 변수
rSid
CSid
개체에 대한 참조입니다.
CAcl::SetEmpty
개체를 CAcl
빈 개체로 표시합니다.
void SetEmpty() throw();
설명
CAcl
비어 있거나 NULL로 설정할 수 있습니다. 두 상태는 고유합니다.
CAcl::SetNull
개체를 CAcl
NULL로 표시합니다.
void SetNull() throw();
설명
CAcl
비어 있거나 NULL로 설정할 수 있습니다. 두 상태는 고유합니다.