Share via


CTokenPrivileges 클래스

이 클래스는 구조체에 대한 래퍼입니다 TOKEN_PRIVILEGES .

Important

이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.

구문

class CTokenPrivileges

멤버

공용 생성자

속성 설명
CTokenPrivileges::CTokenPrivileges 생성자입니다.
CTokenPrivileges::~CTokenPrivileges 소멸자입니다.

공용 메서드

이름 설명
CTokenPrivileges::Add 개체에 CTokenPrivileges 하나 이상의 권한을 추가합니다.
CTokenPrivileges::D 삭제 개체에서 CTokenPrivileges 권한을 삭제합니다.
CTokenPrivileges::D eleteAll 개체에서 CTokenPrivileges 모든 권한을 삭제합니다.
CTokenPrivileges::GetCount 개체의 권한 항목 수를 반환합니다 CTokenPrivileges .
CTokenPrivileges::GetDisplayNames 개체에 포함된 CTokenPrivileges 권한의 표시 이름을 검색합니다.
CTokenPrivileges::GetLength 개체가 나타내는 구조를 유지하는 TOKEN_PRIVILEGES 데 필요한 버퍼 크기를 바이트 단위로 CTokenPrivileges 반환합니다.
CTokenPrivileges::GetLuidsAndAttributes 개체에서 LUID(로컬 고유 식별자) 및 특성 플래그를 CTokenPrivileges 검색합니다.
CTokenPrivileges::GetNamesAndAttributes 개체에서 권한 이름 및 특성 플래그를 CTokenPrivileges 검색합니다.
CTokenPrivileges::GetPTOKEN_PRIVILEGES 구조체에 대한 포인터를 반환합니다 TOKEN_PRIVILEGES .
CTokenPrivileges::LookupPrivilege 지정된 권한 이름과 연결된 특성을 검색합니다.

Public 연산자

이름 설명
CTokenPrivileges::operator const TOKEN_PRIVILEGES * 값을 구조체에 대한 포인터로 캐스팅합니다 TOKEN_PRIVILEGES .
CTokenPrivileges::operator = 대입 연산자입니다.

설명

액세스 토큰은 프로세스 또는 스레드의 보안 컨텍스트를 설명하는 개체이며 Windows 시스템에 로그온한 각 사용자에게 할당됩니다.

액세스 토큰은 각 사용자에게 부여된 다양한 보안 권한을 설명하는 데 사용됩니다. 권한은 LUID(로컬 고유 식별자)라고 하는 64비트 숫자와 설명자 문자열로 구성됩니다.

클래스는 CTokenPrivileges TOKEN_PRIVILEGES 구조체에 대한 래퍼이며 0개 이상의 권한을 포함합니다. 제공된 클래스 메서드를 사용하여 권한을 추가, 삭제 또는 쿼리할 수 있습니다.

Windows의 액세스 제어 모델에 대한 소개는 Windows SDK의 Access Control을 참조하세요.

요구 사항

헤더: atlsecurity.h

CTokenPrivileges::Add

액세스 토큰 개체에 CTokenPrivileges 하나 이상의 권한을 추가합니다.

bool Add(LPCTSTR pszPrivilege, bool bEnable) throw(...);
void Add(const TOKEN_PRIVILEGES& rPrivileges) throw(...);

매개 변수

pszPrivilege
WINNT에 정의된 대로 권한의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. H 헤더 파일입니다.

bEnable
true이면 권한이 활성화됩니다. false이면 권한이 비활성화됩니다.

rPrivileges
TOKEN_PRIVILEGES 구조체에 대한 참조입니다. 권한 및 특성은 이 구조에서 복사되어 개체에 CTokenPrivileges 추가됩니다.

Return Value

이 메서드의 첫 번째 형식은 권한이 성공적으로 추가되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

CTokenPrivileges::CTokenPrivileges

생성자입니다.

CTokenPrivileges() throw();
CTokenPrivileges(const CTokenPrivileges& rhs) throw(... );
CTokenPrivileges(const TOKEN_PRIVILEGES& rPrivileges) throw(...);

매개 변수

rhs
CTokenPrivileges 새 개체에 할당할 개체입니다.

rPrivileges
CTokenPrivileges 개체에 할당할 TOKEN_PRIVILEGES 구조체입니다.

설명

CTokenPrivileges 필요에 따라 구조체 또는 이전에 정의된 CTokenPrivileges 개체를 TOKEN_PRIVILEGES 사용하여 개체를 만들 수 있습니다.

CTokenPrivileges::~CTokenPrivileges

소멸자입니다.

virtual ~CTokenPrivileges() throw();

설명

소멸자가 할당된 모든 리소스를 해제합니다.

CTokenPrivileges::D 삭제

액세스 토큰 개체에서 CTokenPrivileges 권한을 삭제합니다.

bool Delete(LPCTSTR pszPrivilege) throw();

매개 변수

pszPrivilege
WINNT에 정의된 대로 권한의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. H 헤더 파일입니다. 예를 들어 이 매개 변수는 상수 SE_SECURITY_NAME 또는 해당 문자열인 "SeSecurityPrivilege"를 지정할 수 있습니다.

Return Value

권한이 성공적으로 삭제되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

설명

이 메서드는 제한된 토큰을 만드는 도구로 유용합니다.

CTokenPrivileges::D eleteAll

액세스 토큰 개체에서 CTokenPrivileges 모든 권한을 삭제합니다.

void DeleteAll() throw();

설명

액세스 토큰 개체에 CTokenPrivileges 포함된 모든 권한을 삭제합니다.

CTokenPrivileges::GetDisplayNames

액세스 토큰 개체에 포함된 CTokenPrivileges 권한의 표시 이름을 검색합니다.

void GetDisplayNames(CNames* pDisplayNames) const throw(...);

매개 변수

pDisplayNames
CString 개체의 배열에 대한 포인터입니다. CNames 는 typedef CTokenPrivileges::CAtlArray<CString>로 정의됩니다.

설명

매개 변수 pDisplayNames 는 개체에 포함된 권한에 해당하는 표시 이름을 받는 개체 배열 CStringCTokenPrivileges 대한 포인터입니다. 이 메서드는 WINNT.H의 정의된 권한 섹션에 지정된 권한에 대해서만 표시 이름을 검색합니다.

이 메서드는 표시 가능한 이름을 검색합니다. 예를 들어 특성 이름이 SE_REMOTE_SHUTDOWN_NAME 경우 표시 가능한 이름은 "원격 시스템에서 강제 종료"입니다. 시스템 이름을 가져오려면 CTokenPrivileges::GetNamesAndAttributes를 사용합니다.

CTokenPrivileges::GetCount

개체의 권한 항목 수를 반환합니다 CTokenPrivileges .

UINT GetCount() const throw();

Return Value

개체에 포함된 CTokenPrivileges 권한 수를 반환합니다.

CTokenPrivileges::GetLength

개체의 길이를 CTokenPrivileges 반환합니다.

UINT GetLength() const throw();

Return Value

포함된 모든 권한 항목을 포함하여 개체가 CTokenPrivileges 나타내는 구조를 보유 TOKEN_PRIVILEGES 하는 데 필요한 바이트 수를 반환합니다.

CTokenPrivileges::GetLuidsAndAttributes

개체에서 LUID(로컬 고유 식별자) 및 특성 플래그를 CTokenPrivileges 검색합니다.

void GetLuidsAndAttributes(
    CLUIDArray* pPrivileges,
    CAttributes* pAttributes = NULL) const throw(...);

매개 변수

pPrivileges
LUID 개체 배열에 대한 포인터입니다. CLUIDArray 는 .로 정의된 typedef입니다 CAtlArray<LUID> CLUIDArray.

pAttributes
DWORD 개체 배열에 대한 포인터입니다. 이 매개 변수를 생략하거나 NULL이면 특성이 검색되지 않습니다. CAttributes 는 .로 정의된 typedef입니다 CAtlArray <DWORD> CAttributes.

설명

이 메서드는 액세스 토큰 개체에 CTokenPrivileges 포함된 모든 권한을 열거하고 개별 LUD를 배치하고(선택적으로) 특성 플래그를 배열 개체에 배치합니다.

CTokenPrivileges::GetNamesAndAttributes

개체에서 이름 및 특성 플래그를 검색합니다 CTokenPrivileges .

void GetNamesAndAttributes(
    CNames* pNames,
    CAttributes* pAttributes = NULL) const throw(...);

매개 변수

pNames
개체 배열 CString 에 대한 포인터입니다. CNames 는 .로 정의된 typedef입니다 CAtlArray <CString> CNames.

pAttributes
DWORD 개체 배열에 대한 포인터입니다. 이 매개 변수를 생략하거나 NULL이면 특성이 검색되지 않습니다. CAttributes 는 .로 정의된 typedef입니다 CAtlArray <DWORD> CAttributes.

설명

이 메서드는 개체에 CTokenPrivileges 포함된 모든 권한을 열거하여 이름 및(선택 사항) 특성 플래그를 배열 개체에 배치합니다.

이 메서드는 표시 가능한 이름이 아닌 특성 이름을 검색합니다. 예를 들어 특성 이름이 SE_REMOTE_SHUTDOWN_NAME 경우 시스템 이름은 "SeRemoteShutdownPrivilege"입니다. 표시 가능한 이름을 가져오려면 CTokenPrivileges::GetDisplayNames 메서드를 사용합니다.

CTokenPrivileges::GetPTOKEN_PRIVILEGES

구조체에 대한 포인터를 반환합니다 TOKEN_PRIVILEGES .

const TOKEN_PRIVILEGES* GetPTOKEN_PRIVILEGES() const throw(...);

Return Value

TOKEN_PRIVILEGES 구조체에 대한 포인터를 반환합니다.

CTokenPrivileges::LookupPrivilege

지정된 권한 이름과 연결된 특성을 검색합니다.

bool LookupPrivilege(
    LPCTSTR pszPrivilege,
    DWORD* pdwAttributes = NULL) const throw(...);

매개 변수

pszPrivilege
WINNT에 정의된 대로 권한의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. H 헤더 파일입니다. 예를 들어 이 매개 변수는 상수 SE_SECURITY_NAME 또는 해당 문자열인 "SeSecurityPrivilege"를 지정할 수 있습니다.

pdwAttributes
특성을 받는 변수에 대한 포인터입니다.

Return Value

특성이 성공적으로 검색되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

CTokenPrivileges::operator =

대입 연산자입니다.

CTokenPrivileges& operator= (const TOKEN_PRIVILEGES& rPrivileges) throw(...);
CTokenPrivileges& operator= (const CTokenPrivileges& rhs) throw(...);

매개 변수

rPrivileges
개체에 할당할 TOKEN_PRIVILEGES 구조체입니다CTokenPrivileges.

rhs
CTokenPrivileges 개체에 할당할 개체입니다.

Return Value

업데이트 CTokenPrivileges 된 개체를 반환합니다.

CTokenPrivileges::operator const TOKEN_PRIVILEGES *

값을 구조체에 대한 포인터로 캐스팅합니다 TOKEN_PRIVILEGES .

operator const TOKEN_PRIVILEGES *() const throw(...);

설명

값을 TOKEN_PRIVILEGES 구조체에 대한 포인터로 캐스팅합니다.

참고 항목

보안 샘플
TOKEN_PRIVILEGES
Luid
LUID_AND_ATTRIBUTES
클래스 개요
보안 전역 함수