Sdílet prostřednictvím


CTokenPrivileges – třída

Tato třída je obálka pro TOKEN_PRIVILEGES strukturu.

Důležité

Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.

Syntaxe

class CTokenPrivileges

Členové

Veřejné konstruktory

Jméno popis
CTokenPrivileges::CTokenPrivileges Konstruktor
CTokenPrivileges::~CTokenPrivileges Destruktor.

Veřejné metody

Jméno popis
CTokenPrivileges::Add Přidá k objektu CTokenPrivileges jedno nebo více oprávnění.
CTokenPrivileges::D elete Odstraní oprávnění z objektu CTokenPrivileges .
CTokenPrivileges::D eleteAll Odstraní všechna oprávnění z objektu CTokenPrivileges .
CTokenPrivileges::GetCount Vrátí počet položek oprávnění v objektu CTokenPrivileges .
CTokenPrivileges::GetDisplayNames Načte zobrazované názvy oprávnění obsažených v objektu CTokenPrivileges .
CTokenPrivileges::GetLength Vrátí velikost vyrovnávací paměti v bajtech vyžadovaných k uložení TOKEN_PRIVILEGES struktury reprezentované objektem CTokenPrivileges .
CTokenPrivileges::GetLuidsAndAttributes Načte místně jedinečné identifikátory (LUID) a příznaky atributů z objektu CTokenPrivileges .
CTokenPrivileges::GetNamesAndAttributes Načte názvy oprávnění a příznaky atributů z objektu CTokenPrivileges .
CTokenPrivileges::GetPTOKEN_PRIVILEGES Vrátí ukazatel na TOKEN_PRIVILEGES strukturu.
CTokenPrivileges::LookupPrivilege Načte atribut přidružený k danému názvu oprávnění.

Veřejné operátory

Jméno popis
CTokenPrivileges::operator const TOKEN_PRIVILEGES * Přetypuje hodnotu na ukazatel na TOKEN_PRIVILEGES strukturu.
CTokenPrivileges::operator = Operátor přiřazení.

Poznámky

Přístupový token je objekt, který popisuje kontext zabezpečení procesu nebo vlákna a je přidělen každému uživateli přihlášeným k systému Windows.

Přístupový token slouží k popisu různých oprávnění zabezpečení udělených jednotlivým uživatelům. Oprávnění se skládá z 64bitového čísla označovaného jako místně jedinečný identifikátor ( LUID) a řetězce popisovače.

Třída CTokenPrivileges je obálka pro TOKEN_PRIVILEGES strukturu a obsahuje 0 nebo více oprávnění. Oprávnění lze přidat, odstranit nebo dotazovat pomocí zadaných metod třídy.

Úvod k modelu řízení přístupu ve Windows najdete v tématu Řízení přístupu v sadě Windows SDK.

Požadavky

Hlavička: atlsecurity.h

CTokenPrivileges::Add

Přidá k objektu přístupového tokenu CTokenPrivileges jedno nebo více oprávnění.

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

Parametry

pszPrivilege
Ukazatel na řetězec ukončený hodnotou null, který určuje název oprávnění, jak je definováno v winNT. Soubor záhlaví H.

bEnable
Pokud je hodnota true, je oprávnění povoleno. Pokud je false, oprávnění je zakázané.

rPrivileges
Odkaz na strukturu TOKEN_PRIVILEGES . Oprávnění a atributy se zkopírují z této struktury a přidají se do objektu CTokenPrivileges .

Vrácená hodnota

První forma této metody vrátí hodnotu true, pokud jsou oprávnění úspěšně přidána, jinak false.

CTokenPrivileges::CTokenPrivileges

Konstruktor

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

Parametry

rhs
Objekt CTokenPrivileges , který chcete přiřadit novému objektu.

rPrivileges
Struktura TOKEN_PRIVILEGES , která se má přiřadit k novému CTokenPrivileges objektu.

Poznámky

Objekt CTokenPrivileges lze volitelně vytvořit pomocí TOKEN_PRIVILEGES struktury nebo dříve definovaného CTokenPrivileges objektu.

CTokenPrivileges::~CTokenPrivileges

Destruktor.

virtual ~CTokenPrivileges() throw();

Poznámky

Destruktor uvolní všechny přidělené prostředky.

CTokenPrivileges::D elete

Odstraní oprávnění z objektu přístupového tokenu CTokenPrivileges .

bool Delete(LPCTSTR pszPrivilege) throw();

Parametry

pszPrivilege
Ukazatel na řetězec ukončený hodnotou null, který určuje název oprávnění, jak je definováno v winNT. Soubor záhlaví H. Tento parametr může například zadat konstantu SE_SECURITY_NAME nebo odpovídající řetězec SeSecurityPrivilege.

Vrácená hodnota

Vrátí hodnotu true, pokud bylo oprávnění úspěšně odstraněno, jinak false.

Poznámky

Tato metoda je užitečná jako nástroj pro vytváření omezených tokenů.

CTokenPrivileges::D eleteAll

Odstraní všechna oprávnění z objektu přístupového tokenu CTokenPrivileges .

void DeleteAll() throw();

Poznámky

Odstraní všechna oprávnění obsažená v objektu přístupového tokenu CTokenPrivileges .

CTokenPrivileges::GetDisplayNames

Načte zobrazované názvy oprávnění obsažených v objektu přístupového tokenu CTokenPrivileges .

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

Parametry

pDisplayNames
Ukazatel na pole CString objektů. CNames je definován jako typedef: CTokenPrivileges::CAtlArray<CString>.

Poznámky

pDisplayNames Parametr je ukazatel na pole CString objektů, které obdrží zobrazované názvy odpovídající oprávněním obsaženým v objektuCTokenPrivileges. Tato metoda načte zobrazované názvy pouze pro oprávnění zadaná v části Definovaná oprávnění WINNT.H.

Tato metoda načte zobrazovaný název: například pokud je název atributu SE_REMOTE_SHUTDOWN_NAME, zobrazovaný název je "Vynutit vypnutí ze vzdáleného systému". Chcete-li získat název systému, použijte CTokenPrivileges::GetNamesAndAttributes.

CTokenPrivileges::GetCount

Vrátí počet položek oprávnění v objektu CTokenPrivileges .

UINT GetCount() const throw();

Vrácená hodnota

Vrátí počet oprávnění obsažených v objektu CTokenPrivileges .

CTokenPrivileges::GetLength

Vrátí délku objektu CTokenPrivileges .

UINT GetLength() const throw();

Vrácená hodnota

Vrátí počet bajtů potřebných k uložení TOKEN_PRIVILEGES struktury reprezentované objektem CTokenPrivileges , včetně všech položek oprávnění, které obsahuje.

CTokenPrivileges::GetLuidsAndAttributes

Načte místně jedinečné identifikátory (LUID) a příznaky atributů z objektu CTokenPrivileges .

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

Parametry

pPrivileges
Ukazatel na pole objektů LUID . CLUIDArray je typedef definovaný jako CAtlArray<LUID> CLUIDArray.

pAttributes
Ukazatel na pole objektů DWORD. Pokud je tento parametr vynechán nebo null, atributy se nenačtou. CAttributes je typedef definovaný jako CAtlArray <DWORD> CAttributes.

Poznámky

Tato metoda vypíše všechna oprávnění obsažená v objektu CTokenPrivileges přístupového tokenu a umístí jednotlivé identifikátory LUID a (volitelně) příznaky atributů do objektů pole.

CTokenPrivileges::GetNamesAndAttributes

Načte z objektu příznaky názvu a atributu CTokenPrivileges .

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

Parametry

Názvy pNames
Ukazatel na pole CString objektů. CNames je typedef definovaný jako CAtlArray <CString> CNames.

pAttributes
Ukazatel na pole objektů DWORD. Pokud je tento parametr vynechán nebo null, atributy se nenačtou. CAttributes je typedef definovaný jako CAtlArray <DWORD> CAttributes.

Poznámky

Tato metoda vypíše všechna oprávnění obsažená v objektu CTokenPrivileges , umístí název a (volitelně) příznaky atributů do objektů pole.

Tato metoda načte název atributu, nikoli zobrazovaný název: například pokud je název atributu SE_REMOTE_SHUTDOWN_NAME, název systému je "SeRemoteShutdownPrivilege". Chcete-li získat zobrazovaný název, použijte metodu CTokenPrivileges::GetDisplayNames.

CTokenPrivileges::GetPTOKEN_PRIVILEGES

Vrátí ukazatel na TOKEN_PRIVILEGES strukturu.

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

Vrácená hodnota

Vrátí ukazatel na strukturu TOKEN_PRIVILEGES .

CTokenPrivileges::LookupPrivilege

Načte atribut přidružený k danému názvu oprávnění.

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

Parametry

pszPrivilege
Ukazatel na řetězec ukončený hodnotou null, který určuje název oprávnění, jak je definováno v winNT. Soubor záhlaví H. Tento parametr může například zadat konstantu SE_SECURITY_NAME nebo odpovídající řetězec SeSecurityPrivilege.

pdwAttributes
Ukazatel na proměnnou, která přijímá atributy.

Vrácená hodnota

Vrátí hodnotu true, pokud se atribut úspěšně načte, jinak nepravda.

CTokenPrivileges::operator =

Operátor přiřazení.

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

Parametry

rPrivileges
Struktura TOKEN_PRIVILEGES , která se má objektu CTokenPrivileges přiřadit.

rhs
Objekt CTokenPrivileges , který se má k objektu přiřadit.

Vrácená hodnota

Vrátí aktualizovaný CTokenPrivileges objekt.

CTokenPrivileges::operator const TOKEN_PRIVILEGES *

Přetypuje hodnotu na ukazatel na TOKEN_PRIVILEGES strukturu.

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

Poznámky

Přetypuje hodnotu na ukazatel na TOKEN_PRIVILEGES strukturu.

Viz také

Ukázka zabezpečení
TOKEN_PRIVILEGES
LUID
LUID_AND_ATTRIBUTES
Přehled třídy
Globální funkce zabezpečení