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é