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.
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é