Klasse CTokenPrivileges

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse is een wrapper voor de TOKEN_PRIVILEGES structuur.

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

class CTokenPrivileges

Leden

Openbare constructors

Naam Description
CTokenPrivileges::CTokenPrivileges De constructor.
CTokenPrivileges::~CTokenPrivileges De destructor.

Openbare methoden

Naam Description
CTokenPrivileges::Add Hiermee voegt u een of meer bevoegdheden toe aan het CTokenPrivileges object.
CTokenPrivileges::D elete Hiermee verwijdert u een bevoegdheid uit het CTokenPrivileges object.
CTokenPrivileges::D eleteAll Hiermee verwijdert u alle bevoegdheden uit het CTokenPrivileges object.
CTokenPrivileges::GetCount Retourneert het aantal bevoegdheidsvermeldingen in het CTokenPrivileges object.
CTokenPrivileges::GetDisplayNames Hiermee worden weergavenamen opgehaald voor de bevoegdheden in het CTokenPrivileges object.
CTokenPrivileges::GetLength Retourneert de buffergrootte in bytes die nodig zijn voor het opslaan van de TOKEN_PRIVILEGES structuur die wordt vertegenwoordigd door het CTokenPrivileges object.
CTokenPrivileges::GetLuidsAndAttributes Haalt de lokaal unieke id's (LUID's) en kenmerkvlagken van het CTokenPrivileges object op.
CTokenPrivileges::GetNamesAndAttributes Hiermee worden de bevoegdheidsnamen en kenmerkvlagmen opgehaald uit het CTokenPrivileges object.
CTokenPrivileges::GetPTOKEN_PRIVILEGES Retourneert een aanwijzer naar de TOKEN_PRIVILEGES structuur.
CTokenPrivileges::LookupPrivilege Hiermee wordt het kenmerk opgehaald dat is gekoppeld aan een bepaalde naam voor bevoegdheden.

Openbare operators

Naam Description
CTokenPrivileges::operator const TOKEN_PRIVILEGES * Hiermee wordt een waarde omgezet in een aanwijzer naar de TOKEN_PRIVILEGES structuur.
CTokenPrivileges::operator = Toewijzingsoperator.

Opmerkingen

Een toegangstoken is een object dat de beveiligingscontext van een proces of thread beschrijft en wordt toegewezen aan elke gebruiker die is aangemeld bij een Windows-systeem.

Het toegangstoken wordt gebruikt om de verschillende beveiligingsbevoegdheden te beschrijven die aan elke gebruiker zijn verleend. Een bevoegdheid bestaat uit een 64-bits getal, een lokaal unieke id ( LUID) en een descriptortekenreeks.

De CTokenPrivileges klasse is een wrapper voor de TOKEN_PRIVILEGES structuur en bevat 0 of meer bevoegdheden. Bevoegdheden kunnen worden toegevoegd, verwijderd of opgevraagd met behulp van de opgegeven klassemethoden.

Zie Access Control in de Windows SDK voor een inleiding tot het toegangsbeheermodel in Windows.

Requirements

Koptekst: atlsecurity.h

CTokenPrivileges::Add

Hiermee voegt u een of meer bevoegdheden toe aan het CTokenPrivileges toegangstokenobject.

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

Parameterwaarden

pszPrivilege
Wijs een tekenreeks met null-beëindiging aan die de naam van de bevoegdheid opgeeft, zoals gedefinieerd in de WINNT. H-headerbestand.

bEnable-
Indien waar, is de bevoegdheid ingeschakeld. Als dit onwaar is, is de bevoegdheid uitgeschakeld.

rPrivileges
Verwijzing naar een TOKEN_PRIVILEGES structuur. De bevoegdheden en kenmerken worden gekopieerd uit deze structuur en toegevoegd aan het CTokenPrivileges object.

Retourwaarde

De eerste vorm van deze methode retourneert true als de bevoegdheden zijn toegevoegd, anders onwaar.

CTokenPrivileges::CTokenPrivileges

De constructor.

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

Parameterwaarden

Rhs
Het CTokenPrivileges object dat moet worden toegewezen aan het nieuwe object.

rPrivileges
De TOKEN_PRIVILEGES structuur die moet worden toegewezen aan het nieuwe CTokenPrivileges object.

Opmerkingen

Het CTokenPrivileges object kan eventueel worden gemaakt met behulp van een TOKEN_PRIVILEGES structuur of een eerder gedefinieerd CTokenPrivileges object.

CTokenPrivileges::~CTokenPrivileges

De destructor.

virtual ~CTokenPrivileges() throw();

Opmerkingen

Met de destructor worden alle toegewezen resources vrijgemaakt.

CTokenPrivileges::D elete

Hiermee verwijdert u een bevoegdheid uit het CTokenPrivileges toegangstokenobject.

bool Delete(LPCTSTR pszPrivilege) throw();

Parameterwaarden

pszPrivilege
Wijs een tekenreeks met null-beëindiging aan die de naam van de bevoegdheid opgeeft, zoals gedefinieerd in de WINNT. H-headerbestand. Met deze parameter kan bijvoorbeeld de constante SE_SECURITY_NAME of de bijbehorende tekenreeks 'SeSecurityPrivilege' worden opgegeven.

Retourwaarde

Retourneert waar als de bevoegdheid is verwijderd, anders onwaar.

Opmerkingen

Deze methode is handig als hulpprogramma voor het maken van beperkte tokens.

CTokenPrivileges::D eleteAll

Hiermee verwijdert u alle bevoegdheden uit het CTokenPrivileges toegangstokenobject.

void DeleteAll() throw();

Opmerkingen

Hiermee verwijdert u alle bevoegdheden in het CTokenPrivileges toegangstokenobject.

CTokenPrivileges::GetDisplayNames

Hiermee worden weergavenamen opgehaald voor de bevoegdheden in het CTokenPrivileges toegangstokenobject.

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

Parameterwaarden

pDisplayNames
Een aanwijzer naar een matrix met CString objecten. CNames wordt gedefinieerd als een typedef: CTokenPrivileges::CAtlArray<CString>.

Opmerkingen

De parameter pDisplayNames is een aanwijzer naar een matrix met CString objecten die de weergavenamen ontvangt die overeenkomen met de bevoegdheden in het CTokenPrivileges object. Met deze methode worden weergavenamen alleen opgehaald voor de bevoegdheden die zijn opgegeven in de sectie Gedefinieerde bevoegdheden van WINNT.H.

Met deze methode wordt een weerbare naam opgehaald: als de kenmerknaam bijvoorbeeld SE_REMOTE_SHUTDOWN_NAME, is de weergavenaam 'Afsluiten van een extern systeem afdwingen'. Gebruik CTokenPrivileges::GetNamesAndAttributes om de systeemnaam op te halen.

CTokenPrivileges::GetCount

Retourneert het aantal bevoegdheidsvermeldingen in het CTokenPrivileges object.

UINT GetCount() const throw();

Retourwaarde

Retourneert het aantal bevoegdheden in het CTokenPrivileges object.

CTokenPrivileges::GetLength

Retourneert de lengte van het CTokenPrivileges object.

UINT GetLength() const throw();

Retourwaarde

Retourneert het aantal bytes dat is vereist voor het opslaan van een TOKEN_PRIVILEGES structuur die wordt vertegenwoordigd door het CTokenPrivileges object, inclusief alle bevoegdheidsvermeldingen die het bevat.

CTokenPrivileges::GetLuidsAndAttributes

Haalt de lokaal unieke id's (LUID's) en kenmerkvlagken van het CTokenPrivileges object op.

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

Parameterwaarden

pPrivileges
Aanwijzer naar een matrix met LUID-objecten . CLUIDArray is een typedef gedefinieerd als CAtlArray<LUID> CLUIDArray.

pAttributes
Aanwijzer naar een matrix van DWORD-objecten. Als deze parameter wordt weggelaten of NULL, worden de kenmerken niet opgehaald. CAttributes is een typedef gedefinieerd als CAtlArray <DWORD> CAttributes.

Opmerkingen

Met deze methode worden alle bevoegdheden in het CTokenPrivileges toegangstokenobject opgesomd en worden de afzonderlijke LUID's geplaatst en (optioneel) de kenmerkvlagken in matrixobjecten geplaatst.

CTokenPrivileges::GetNamesAndAttributes

Haalt de naam- en kenmerkvlagken van het CTokenPrivileges object op.

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

Parameterwaarden

pNames
Aanwijzer naar een matrix met CString objecten. CNames is een typedef gedefinieerd als CAtlArray <CString> CNames.

pAttributes
Aanwijzer naar een matrix van DWORD-objecten. Als deze parameter wordt weggelaten of NULL, worden de kenmerken niet opgehaald. CAttributes is een typedef gedefinieerd als CAtlArray <DWORD> CAttributes.

Opmerkingen

Met deze methode worden alle bevoegdheden in het CTokenPrivileges object opgesomd, waarbij de naam en (optioneel) de kenmerkvlagken in matrixobjecten worden geplaatst.

Met deze methode wordt de kenmerknaam opgehaald, in plaats van de weergavenaam: als de kenmerknaam bijvoorbeeld is SE_REMOTE_SHUTDOWN_NAME, is de systeemnaam 'SeRemoteShutdownPrivilege'. Gebruik de methode CTokenPrivileges::GetDisplayNames om de weergavenaam op te halen.

CTokenPrivileges::GetPTOKEN_PRIVILEGES

Retourneert een aanwijzer naar de TOKEN_PRIVILEGES structuur.

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

Retourwaarde

Retourneert een aanwijzer naar de TOKEN_PRIVILEGES structuur.

CTokenPrivileges::LookupPrivilege

Hiermee wordt het kenmerk opgehaald dat is gekoppeld aan een bepaalde naam voor bevoegdheden.

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

Parameterwaarden

pszPrivilege
Wijs een tekenreeks met null-beëindiging aan die de naam van de bevoegdheid opgeeft, zoals gedefinieerd in de WINNT. H-headerbestand. Met deze parameter kan bijvoorbeeld de constante SE_SECURITY_NAME of de bijbehorende tekenreeks 'SeSecurityPrivilege' worden opgegeven.

pdwAttributes
Wijs een variabele aan die de kenmerken ontvangt.

Retourwaarde

Retourneert waar als het kenmerk is opgehaald, anders onwaar.

CTokenPrivileges::operator =

Toewijzingsoperator.

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

Parameterwaarden

rPrivileges
De TOKEN_PRIVILEGES structuur die moet worden toegewezen aan het CTokenPrivileges object.

Rhs
Het CTokenPrivileges object dat moet worden toegewezen aan het object.

Retourwaarde

Retourneert het bijgewerkte CTokenPrivileges object.

CTokenPrivileges::operator const TOKEN_PRIVILEGES *

Hiermee wordt een waarde omgezet in een aanwijzer naar de TOKEN_PRIVILEGES structuur.

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

Opmerkingen

Hiermee wordt een waarde omgezet in een aanwijzer naar de TOKEN_PRIVILEGES structuur.

Zie ook

Beveiligingsvoorbeeld
TOKEN_PRIVILEGES
LUID
LUID_AND_ATTRIBUTES
Overzicht van klassen
Globale beveiligingsfuncties