다음을 통해 공유


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 *

개체 ACLCAcl (액세스 제어 목록) 구조체로 캐스팅합니다.

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

지정된 CSidACL에 적용되는 모든 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로 설정할 수 있습니다. 두 상태는 고유합니다.

참고 항목

클래스 개요
보안 전역 함수