Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
La bibliothèque de modèles actifs (ATL) continue d’être prise en charge. Toutefois, nous n’ajoutons plus de fonctionnalités ni ne mettons à jour la documentation.
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é