Teilen über


CTokenPrivileges-Klasse

Diese Klasse ist ein Wrapper für die TOKEN_PRIVILEGES Struktur.

Wichtig

Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.

Syntax

class CTokenPrivileges

Member

Öffentliche Konstruktoren

Name Beschreibung
CTokenPrivileges::CTokenPrivileges Der Konstruktor.
CTokenPrivileges::~CTokenPrivileges Der Destruktor.

Öffentliche Methoden

Name Beschreibung
CTokenPrivileges::Add Fügt dem CTokenPrivileges Objekt mindestens ein Recht hinzu.
CTokenPrivileges::D elete Löscht ein Privileg aus dem CTokenPrivileges Objekt.
CTokenPrivileges::D eleteAll Löscht alle Berechtigungen aus dem CTokenPrivileges Objekt.
CTokenPrivileges::GetCount Gibt die Anzahl der Berechtigungseinträge im CTokenPrivileges Objekt zurück.
CTokenPrivileges::GetDisplayNames Ruft Anzeigenamen für die im CTokenPrivileges Objekt enthaltenen Berechtigungen ab.
CTokenPrivileges::GetLength Gibt die Puffergröße in Byte zurück, die erforderlich ist, um die TOKEN_PRIVILEGES struktur zu enthalten, die durch das CTokenPrivileges Objekt dargestellt wird.
CTokenPrivileges::GetLuidsAndAttributes Ruft die lokal eindeutigen Bezeichner (LUIDs) und Attributkennzeichen aus dem CTokenPrivileges Objekt ab.
CTokenPrivileges::GetNamesAndAttributes Ruft die Berechtigungsnamen und Attributkennzeichnungen aus dem CTokenPrivileges Objekt ab.
CTokenPrivileges::GetPTOKEN_PRIVILEGES Gibt einen Zeiger auf die TOKEN_PRIVILEGES Struktur zurück.
CTokenPrivileges::LookupPrivilege Ruft das Attribut ab, das einem bestimmten Berechtigungsnamen zugeordnet ist.

Öffentliche Operatoren

Name Beschreibung
CTokenPrivileges::operator const TOKEN_PRIVILEGES * Wandelt einen Wert in einen Zeiger auf die TOKEN_PRIVILEGES Struktur um.
CTokenPrivileges::operator = Zuweisungsoperator.

Hinweise

Ein Zugriffstoken ist ein Objekt, das den Sicherheitskontext eines Prozesses oder Threads beschreibt und jedem Benutzer zugewiesen wird, der bei einem Windows-System angemeldet ist.

Das Zugriffstoken wird verwendet, um die verschiedenen Sicherheitsberechtigungen zu beschreiben, die jedem Benutzer gewährt werden. Ein Privileg besteht aus einer 64-Bit-Zahl, die als lokal eindeutiger Bezeichner ( LUID) und einer Deskriptorzeichenfolge bezeichnet wird.

Die CTokenPrivileges Klasse ist ein Wrapper für die TOKEN_PRIVILEGES-Struktur und enthält 0 oder mehr Berechtigungen. Berechtigungen können mithilfe der angegebenen Klassenmethoden hinzugefügt, gelöscht oder abgefragt werden.

Eine Einführung in das Zugriffssteuerungsmodell in Windows finden Sie unter Access Control im Windows SDK.

Anforderungen

Kopfzeile: atlsecurity.h

CTokenPrivileges::Add

Fügt dem CTokenPrivileges Zugriffstokenobjekt mindestens ein Recht hinzu.

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

Parameter

pszPrivilege
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen der Berechtigung angibt, wie in winNT definiert. H-Headerdatei.

bEnable
Bei "true" ist die Berechtigung aktiviert. Wenn "false" ist die Berechtigung deaktiviert.

rPrivileges
Verweisen auf eine TOKEN_PRIVILEGES-Struktur . Die Berechtigungen und Attribute werden aus dieser Struktur kopiert und dem CTokenPrivileges Objekt hinzugefügt.

Rückgabewert

Die erste Form dieser Methode gibt "true" zurück, wenn die Berechtigungen erfolgreich hinzugefügt werden, andernfalls "false".

CTokenPrivileges::CTokenPrivileges

Der Konstruktor.

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

Parameter

rhs
Das CTokenPrivileges Objekt, das dem neuen Objekt zugewiesen werden soll.

rPrivileges
Die TOKEN_PRIVILEGES Struktur, die dem neuen CTokenPrivileges Objekt zugewiesen werden soll.

Hinweise

Das CTokenPrivileges Objekt kann optional mithilfe einer TOKEN_PRIVILEGES Struktur oder eines zuvor definierten CTokenPrivileges Objekts erstellt werden.

CTokenPrivileges::~CTokenPrivileges

Der Destruktor.

virtual ~CTokenPrivileges() throw();

Hinweise

Der Destruktor gibt alle zugeordneten Ressourcen frei.

CTokenPrivileges::D elete

Löscht ein Privileg aus dem CTokenPrivileges Zugriffstokenobjekt.

bool Delete(LPCTSTR pszPrivilege) throw();

Parameter

pszPrivilege
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen der Berechtigung angibt, wie in winNT definiert. H-Headerdatei. Beispielsweise könnte dieser Parameter die Konstante SE_SECURITY_NAME oder die entsprechende Zeichenfolge "SeSecurityPrivilege" angeben.

Rückgabewert

Gibt true zurück, wenn die Berechtigung erfolgreich gelöscht wurde, andernfalls "false".

Hinweise

Diese Methode ist hilfreich als Tool zum Erstellen von eingeschränkten Token.

CTokenPrivileges::D eleteAll

Löscht alle Berechtigungen aus dem CTokenPrivileges Zugriffstokenobjekt.

void DeleteAll() throw();

Hinweise

Löscht alle Im Zugriffstokenobjekt enthaltenen CTokenPrivileges Berechtigungen.

CTokenPrivileges::GetDisplayNames

Ruft Anzeigenamen für die Im Zugriffstokenobjekt enthaltenen CTokenPrivileges Berechtigungen ab.

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

Parameter

pDisplayNames
Ein Zeiger auf ein Array von CString-Objekten. CNames ist als typedef definiert: CTokenPrivileges::CAtlArray<CString>.

Hinweise

Der Parameter pDisplayNames ist ein Zeiger auf ein Array von CString Objekten, das die Anzeigenamen erhält, die den im CTokenPrivileges Objekt enthaltenen Berechtigungen entsprechen. Diese Methode ruft Anzeigenamen nur für die im Abschnitt "Definierten Berechtigungen" von WINNT.H angegebenen Berechtigungen ab.

Diese Methode ruft einen anzeigefähigen Namen ab: Wenn der Attributname beispielsweise SE_REMOTE_SHUTDOWN_NAME ist, lautet der anzeigefähige Name "Herunterfahren von einem Remotesystem erzwingen". Verwenden Sie zum Abrufen des Systemnamens CTokenPrivileges::GetNamesAndAttributes.

CTokenPrivileges::GetCount

Gibt die Anzahl der Berechtigungseinträge im CTokenPrivileges Objekt zurück.

UINT GetCount() const throw();

Rückgabewert

Gibt die Anzahl der im CTokenPrivileges Objekt enthaltenen Berechtigungen zurück.

CTokenPrivileges::GetLength

Gibt die Länge des CTokenPrivileges Objekts zurück.

UINT GetLength() const throw();

Rückgabewert

Gibt die Anzahl der Bytes zurück, die erforderlich sind, um eine TOKEN_PRIVILEGES Struktur zu enthalten, die durch das CTokenPrivileges Objekt dargestellt wird, einschließlich aller darin enthaltenen Berechtigungseinträge.

CTokenPrivileges::GetLuidsAndAttributes

Ruft die lokal eindeutigen Bezeichner (LUIDs) und Attributkennzeichen aus dem CTokenPrivileges Objekt ab.

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

Parameter

pPrivileges
Zeigen Sie auf ein Array von LUID-Objekten . CLUIDArray ist ein typedef definiert als CAtlArray<LUID> CLUIDArray.

pAttributes
Zeigen Sie auf ein Array von DWORD-Objekten. Wenn dieser Parameter nicht angegeben oder NULL ist, werden die Attribute nicht abgerufen. CAttributes ist ein typedef definiert als CAtlArray <DWORD> CAttributes.

Hinweise

Mit dieser Methode werden alle im Zugriffstokenobjekt enthaltenen Berechtigungen aufgelistet CTokenPrivileges und die einzelnen LUIDs und (optional) die Attributkennzeichnungen in Arrayobjekte platziert.

CTokenPrivileges::GetNamesAndAttributes

Ruft die Namen- und Attributkennzeichnungen aus dem CTokenPrivileges Objekt ab.

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

Parameter

pNames
Zeigen Sie auf ein Array von CString Objekten. CNames ist ein typedef definiert als CAtlArray <CString> CNames.

pAttributes
Zeigen Sie auf ein Array von DWORD-Objekten. Wenn dieser Parameter nicht angegeben oder NULL ist, werden die Attribute nicht abgerufen. CAttributes ist ein typedef definiert als CAtlArray <DWORD> CAttributes.

Hinweise

Mit dieser Methode werden alle im Objekt enthaltenen Berechtigungen aufgelistet, wobei der Name und (optional) die Attributkennzeichnungen in Arrayobjekte platziert CTokenPrivileges werden.

Diese Methode ruft den Attributnamen und nicht den anzeigefähigen Namen ab: Wenn der Attributname z. B. SE_REMOTE_SHUTDOWN_NAME ist, lautet der Systemname "SeRemoteShutdownPrivilege". Verwenden Sie zum Abrufen des anzeigefähigen Namens die Methode CTokenPrivileges::GetDisplayNames.

CTokenPrivileges::GetPTOKEN_PRIVILEGES

Gibt einen Zeiger auf die TOKEN_PRIVILEGES Struktur zurück.

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

Rückgabewert

Gibt einen Zeiger auf die TOKEN_PRIVILEGES Struktur zurück.

CTokenPrivileges::LookupPrivilege

Ruft das Attribut ab, das einem bestimmten Berechtigungsnamen zugeordnet ist.

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

Parameter

pszPrivilege
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen der Berechtigung angibt, wie in winNT definiert. H-Headerdatei. Beispielsweise könnte dieser Parameter die Konstante SE_SECURITY_NAME oder die entsprechende Zeichenfolge "SeSecurityPrivilege" angeben.

pdwAttributes
Zeiger auf eine Variable, die die Attribute empfängt.

Rückgabewert

Gibt "true" zurück, wenn das Attribut erfolgreich abgerufen wurde, andernfalls "false".

CTokenPrivileges::operator =

Zuweisungsoperator.

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

Parameter

rPrivileges
Die TOKEN_PRIVILEGES Struktur, die dem CTokenPrivileges Objekt zugewiesen werden soll.

rhs
Das CTokenPrivileges Objekt, das dem Objekt zugewiesen werden soll.

Rückgabewert

Gibt das aktualisierte Objekt zurück CTokenPrivileges .

CTokenPrivileges::operator const TOKEN_PRIVILEGES *

Wandelt einen Wert in einen Zeiger auf die TOKEN_PRIVILEGES Struktur um.

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

Hinweise

Wandelt einen Wert in einen Zeiger auf die TOKEN_PRIVILEGES Struktur um.

Siehe auch

Sicherheitsbeispiel
TOKEN_PRIVILEGES
LUID
LUID_AND_ATTRIBUTES
Klassenübersicht
Globale Sicherheitsfunktionen