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
는 개체에 포함된 권한에 해당하는 표시 이름을 받는 개체 배열 CString
에 CTokenPrivileges
대한 포인터입니다. 이 메서드는 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
클래스 개요
보안 전역 함수