CTokenPrivileges, classe

Cette classe est un wrapper pour la TOKEN_PRIVILEGES structure.

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.

Syntaxe

class CTokenPrivileges

Membres

Constructeurs publics

Nom Description
CTokenPrivileges ::CTokenPrivileges Constructeur .
CTokenPrivileges ::~CTokenPrivileges Destructeur.

Méthodes publiques

Nom Description
CTokenPrivileges ::Add Ajoute un ou plusieurs privilèges à l’objet CTokenPrivileges .
CTokenPrivileges ::D elete Supprime un privilège de l’objet CTokenPrivileges .
CTokenPrivileges ::D eleteAll Supprime tous les privilèges de l’objet CTokenPrivileges .
CTokenPrivileges ::GetCount Retourne le nombre d’entrées de privilège dans l’objet CTokenPrivileges .
CTokenPrivileges ::GetDisplayNames Récupère les noms d’affichage des privilèges contenus dans l’objet CTokenPrivileges .
CTokenPrivileges ::GetLength Retourne la taille de la mémoire tampon en octets requis pour contenir la TOKEN_PRIVILEGES structure représentée par l’objet CTokenPrivileges .
CTokenPrivileges ::GetLuidsAndAttributes Récupère les identificateurs uniques localement (LUID) et les indicateurs d’attribut de l’objet CTokenPrivileges .
CTokenPrivileges ::GetNamesAndAttributes Récupère les noms de privilèges et les indicateurs d’attribut de l’objet CTokenPrivileges .
CTokenPrivileges ::GetPTOKEN_PRIVILEGES Retourne un pointeur vers la TOKEN_PRIVILEGES structure.
CTokenPrivileges ::LookupPrivilege Récupère l’attribut associé à un nom de privilège donné.

Opérateurs publics

Nom Description
CTokenPrivileges ::operator const TOKEN_PRIVILEGES * Convertit une valeur en pointeur vers la TOKEN_PRIVILEGES structure.
CTokenPrivileges ::operator = Opérateur d'assignation.

Notes

Un jeton d’accès est un objet qui décrit le contexte de sécurité d’un processus ou d’un thread et qui est alloué à chaque utilisateur connecté à un système Windows.

Le jeton d’accès est utilisé pour décrire les différents privilèges de sécurité accordés à chaque utilisateur. Un privilège se compose d’un nombre 64 bits appelé identificateur unique localement ( LUID) et d’une chaîne de descripteur.

La CTokenPrivileges classe est un wrapper pour la structure TOKEN_PRIVILEGES et contient 0 ou plusieurs privilèges. Les privilèges peuvent être ajoutés, supprimés ou interrogés à l’aide des méthodes de classe fournies.

Pour une présentation du modèle de contrôle d’accès dans Windows, consultez Contrôle d’accès dans le Kit de développement logiciel (SDK) Windows.

Spécifications

En-tête : atlsecurity.h

CTokenPrivileges ::Add

Ajoute un ou plusieurs privilèges à l’objet de jeton d’accès CTokenPrivileges .

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

Paramètres

pszPrivilege
Pointeur vers une chaîne terminée par null qui spécifie le nom du privilège, tel que défini dans winnt. Fichier d’en-tête H.

bEnable
Si la valeur est true, le privilège est activé. Si la valeur est false, le privilège est désactivé.

rPrivileges
Référence à une structure TOKEN_PRIVILEGES . Les privilèges et attributs sont copiés à partir de cette structure et ajoutés à l’objet CTokenPrivileges .

Valeur de retour

La première forme de cette méthode retourne true si les privilèges sont correctement ajoutés, false sinon.

CTokenPrivileges ::CTokenPrivileges

Constructeur .

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

Paramètres

rhs
Objet CTokenPrivileges à affecter au nouvel objet.

rPrivileges
Structure TOKEN_PRIVILEGES à affecter au nouvel CTokenPrivileges objet.

Notes

L’objet CTokenPrivileges peut éventuellement être créé à l’aide d’une TOKEN_PRIVILEGES structure ou d’un objet précédemment défini CTokenPrivileges .

CTokenPrivileges ::~CTokenPrivileges

Destructeur.

virtual ~CTokenPrivileges() throw();

Notes

Le destructeur libère toutes les ressources allouées.

CTokenPrivileges ::D elete

Supprime un privilège de l’objet de jeton d’accès CTokenPrivileges .

bool Delete(LPCTSTR pszPrivilege) throw();

Paramètres

pszPrivilege
Pointeur vers une chaîne terminée par null qui spécifie le nom du privilège, tel que défini dans winnt. Fichier d’en-tête H. Par exemple, ce paramètre peut spécifier la constante SE_SECURITY_NAME, ou sa chaîne correspondante, « SeSecurityPrivilege ».

Valeur de retour

Retourne true si le privilège a été correctement supprimé, false sinon.

Notes

Cette méthode est utile en tant qu’outil pour créer des jetons restreints.

CTokenPrivileges ::D eleteAll

Supprime tous les privilèges de l’objet de jeton d’accès CTokenPrivileges .

void DeleteAll() throw();

Notes

Supprime tous les privilèges contenus dans l’objet de jeton d’accès CTokenPrivileges .

CTokenPrivileges ::GetDisplayNames

Récupère les noms d’affichage des privilèges contenus dans l’objet de jeton d’accès CTokenPrivileges .

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

Paramètres

pDisplayNames
Pointeur vers un tableau d'objets CString. CNames est défini en tant que typedef : CTokenPrivileges::CAtlArray<CString>.

Notes

Le paramètre pDisplayNames est un pointeur vers un tableau d’objets CString qui recevra les noms d’affichage correspondant aux privilèges contenus dans l’objet CTokenPrivileges . Cette méthode récupère les noms d’affichage uniquement pour les privilèges spécifiés dans la section Privilèges définis de WINNT.H.

Cette méthode récupère un nom affichable : par exemple, si le nom de l’attribut est SE_REMOTE_SHUTDOWN_NAME, le nom affichable est « Forcer l’arrêt à partir d’un système distant ». Pour obtenir le nom du système, utilisez CTokenPrivileges ::GetNamesAndAttributes.

CTokenPrivileges ::GetCount

Retourne le nombre d’entrées de privilège dans l’objet CTokenPrivileges .

UINT GetCount() const throw();

Valeur de retour

Retourne le nombre de privilèges contenus dans l’objet CTokenPrivileges .

CTokenPrivileges ::GetLength

Retourne la longueur de l’objet CTokenPrivileges .

UINT GetLength() const throw();

Valeur de retour

Retourne le nombre d’octets requis pour contenir une TOKEN_PRIVILEGES structure représentée par l’objet CTokenPrivileges , y compris toutes les entrées de privilège qu’elle contient.

CTokenPrivileges ::GetLuidsAndAttributes

Récupère les identificateurs uniques localement (LUID) et les indicateurs d’attribut de l’objet CTokenPrivileges .

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

Paramètres

pPrivileges
Pointeur vers un tableau d’objets LUID . CLUIDArray est un typedef défini comme CAtlArray<LUID> CLUIDArray.

pAttributes
Pointeur vers un tableau d’objets DWORD. Si ce paramètre est omis ou NULL, les attributs ne sont pas récupérés. CAttributes est un typedef défini comme CAtlArray <DWORD> CAttributes.

Notes

Cette méthode énumère tous les privilèges contenus dans l’objet de CTokenPrivileges jeton d’accès et place les LUID individuels et (éventuellement) les indicateurs d’attribut dans les objets de tableau.

CTokenPrivileges ::GetNamesAndAttributes

Récupère les indicateurs de nom et d’attribut de l’objet CTokenPrivileges .

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

Paramètres

pNames
Pointeur vers un tableau d’objets CString . CNames est un typedef défini comme CAtlArray <CString> CNames.

pAttributes
Pointeur vers un tableau d’objets DWORD. Si ce paramètre est omis ou NULL, les attributs ne sont pas récupérés. CAttributes est un typedef défini comme CAtlArray <DWORD> CAttributes.

Notes

Cette méthode énumère tous les privilèges contenus dans l’objet CTokenPrivileges , en plaçant le nom et (éventuellement) les indicateurs d’attribut dans des objets de tableau.

Cette méthode récupère le nom de l’attribut, plutôt que le nom affichable : par exemple, si le nom de l’attribut est SE_REMOTE_SHUTDOWN_NAME, le nom système est « SeRemoteShutdownPrivilege ». Pour obtenir le nom affichable, utilisez la méthode CTokenPrivileges ::GetDisplayNames.

CTokenPrivileges ::GetPTOKEN_PRIVILEGES

Retourne un pointeur vers la TOKEN_PRIVILEGES structure.

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

Valeur de retour

Retourne un pointeur vers la structure TOKEN_PRIVILEGES .

CTokenPrivileges ::LookupPrivilege

Récupère l’attribut associé à un nom de privilège donné.

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

Paramètres

pszPrivilege
Pointeur vers une chaîne terminée par null qui spécifie le nom du privilège, tel que défini dans winnt. Fichier d’en-tête H. Par exemple, ce paramètre peut spécifier la constante SE_SECURITY_NAME, ou sa chaîne correspondante, « SeSecurityPrivilege ».

pdwAttributes
Pointeur vers une variable qui reçoit les attributs.

Valeur de retour

Retourne true si l’attribut est correctement récupéré, false sinon.

CTokenPrivileges ::operator =

Opérateur d'assignation.

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

Paramètres

rPrivileges
Structure TOKEN_PRIVILEGES à affecter à l’objet CTokenPrivileges .

rhs
Objet CTokenPrivileges à affecter à l’objet.

Valeur de retour

Retourne l’objet mis à jour CTokenPrivileges .

CTokenPrivileges ::operator const TOKEN_PRIVILEGES *

Convertit une valeur en pointeur vers la TOKEN_PRIVILEGES structure.

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

Notes

Convertit une valeur en pointeur vers la structure TOKEN_PRIVILEGES .

Voir aussi

Exemple de sécurité
TOKEN_PRIVILEGES
LUID
LUID_AND_ATTRIBUTES
Vue d’ensemble de la classe
Fonctions globales de sécurité