Classe CSid
Cette classe est un wrapper pour une SID
structure (identificateur de sécurité).
Important
Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.
Syntaxe
class CSid;
Membres
Typesdefs publics
Nom | Description |
---|---|
CSid::CSidArray |
Tableau d'objets CSid . |
Constructeurs publics
Nom | Description |
---|---|
CSid::CSid |
Constructeur . |
CSid::~CSid |
Destructeur. |
Méthodes publiques
Nom | Description |
---|---|
CSid::AccountName |
Retourne le nom du compte associé à l’objet CSid . |
CSid::Domain |
Retourne le nom du domaine associé à l’objet CSid . |
CSid::EqualPrefix |
Teste SID les préfixes (identificateur de sécurité) pour l’égalité. |
CSid::GetLength |
Retourne la longueur de l’objet CSid . |
CSid::GetPSID |
Retourne un pointeur vers une SID structure. |
CSid::GetPSID_IDENTIFIER_AUTHORITY |
Retourne un pointeur vers la SID_IDENTIFIER_AUTHORITY structure. |
CSid::GetSubAuthority |
Retourne une sous-autorisation spécifiée dans une SID structure. |
CSid::GetSubAuthorityCount |
Retourne le nombre de sous-auteurs. |
CSid::IsValid |
Teste l’objet CSid pour la validité. |
CSid::LoadAccount |
Met à jour l’objet CSid en fonction du nom et du domaine du compte ou d’une structure existante SID . |
CSid::Sid |
Retourne la chaîne d’ID. |
CSid::SidNameUse |
Retourne une description de l’état de l’objet CSid . |
Opérateurs
Nom | Description |
---|---|
CSid::operator = |
Opérateur d'assignation. |
CSid::operator const SID * |
Convertit un CSid objet en pointeur vers une SID structure. |
Opérateurs globaux
Nom | Description |
---|---|
operator == |
Teste deux objets de descripteur de sécurité pour l’égalité |
operator != |
Teste deux objets de descripteur de sécurité pour l’inégalité |
operator < |
Compare la valeur relative de deux objets de descripteur de sécurité. |
operator > |
Compare la valeur relative de deux objets de descripteur de sécurité. |
operator <= |
Compare la valeur relative de deux objets de descripteur de sécurité. |
operator >= |
Compare la valeur relative de deux objets de descripteur de sécurité. |
Notes
La SID
structure est une structure de longueur variable utilisée pour identifier de manière unique les utilisateurs ou les groupes.
Les applications ne doivent pas modifier directement la SID
structure, mais utiliser plutôt les méthodes fournies dans cette classe wrapper. Voir aussi AtlGetOwnerSid
, AtlSetGroupSid
, AtlGetGroupSid
, et AtlSetOwnerSid
.
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
CSid::AccountName
Retourne le nom du compte associé à l’objet CSid
.
LPCTSTR AccountName() const throw(...);
Valeur retournée
Retourne le LPCTSTR
pointage vers le nom du compte.
Notes
Cette méthode tente de trouver un nom pour l’identificateur de sécurité spécifié SID
. Pour plus d’informations, consultez LookupAccountSid
.
Si aucun nom SID
de compte n’est trouvé, AccountName
retourne une chaîne vide. Ce résultat peut se produire si un délai d’expiration réseau empêche cette méthode de trouver le nom. Il se produit également pour les identificateurs de sécurité sans nom de compte correspondant, tel qu’une SID
session de connexion.
CSid::CSid
Constructeur .
CSid() throw();
CSid(const SID& rhs) throw(...);
CSid(const CSid& rhs) throw(...);
CSid(
const SID_IDENTIFIER_AUTHORITY& IdentifierAuthority,
BYTE nSubAuthorityCount,
...) throw(...);
explicit CSid(
LPCTSTR pszAccountName,
LPCTSTR pszSystem = NULL) throw(...);
explicit CSid(
const SID* pSid,
LPCTSTR pszSystem = NULL) throw(...);
Paramètres
rhs
Structure d’objet ou SID
d’identificateur de sécurité existantCSid
.
IdentifierAuthority
L’autorité.
nSubAuthorityCount
Nombre de sous-auteurs.
pszAccountName
Nom du compte.
pszSystem
Nom du système. Cette chaîne peut être le nom d’un ordinateur distant. Si cette chaîne est NULL, le système local est utilisé à la place.
pSid
Pointeur vers une SID
structure.
Notes
Le constructeur initialise l’objet CSid
, en définissant un membre de données interne sur SidTypeInvalid
, ou en copiant les paramètres à partir d’un compte existant CSid
ou SID
existant.
Si l’initialisation échoue, le constructeur lève une CAtlException
classe.
CSid::~CSid
Destructeur.
virtual ~CSid() throw();
Notes
Le destructeur libère toutes les ressources acquises par l’objet.
CSid::CSidArray
Tableau d'objets CSid
.
typedef CAtlArray<CSid> CSidArray;
Notes
Ce typedef spécifie le type de tableau qui peut être utilisé pour récupérer des identificateurs de sécurité à partir d’une liste de contrôle d’accès (liste de contrôle d’accès). Consultez l’article CAcl::GetAclEntries
.
CSid::Domain
Retourne le nom du domaine associé à l’objet CSid
.
LPCTSTR Domain() const throw(...);
Valeur retournée
Retourne le LPCTSTR
pointage vers le domaine.
Notes
Cette méthode tente de trouver un nom pour l’identificateur de sécurité spécifié SID
. Pour plus d’informations, consultez LookupAccountSid
.
Si aucun nom SID
de compte n’est trouvé, Domain
retourne le domaine sous forme de chaîne vide. Ce résultat peut se produire si un délai d’expiration réseau empêche cette méthode de trouver le nom. Il se produit également pour les identificateurs de sécurité sans nom de compte correspondant, tel qu’une SID
session de connexion.
CSid::EqualPrefix
Teste SID
les préfixes (identificateur de sécurité) pour l’égalité.
bool EqualPrefix(const SID& rhs) const throw();
bool EqualPrefix(const CSid& rhs) const throw();
Paramètres
rhs
Structure SID
ou CSid
objet (identificateur de sécurité) à comparer.
Valeur retournée
Retourne TRUE
en cas de réussite, FALSE
en cas d’échec.
Notes
Pour plus d’informations, consultez EqualPrefixSid
.
CSid::GetLength
Retourne la longueur de l’objet CSid
.
UINT GetLength() const throw();
Valeur retournée
Retourne la longueur en octets de l’objet CSid
.
Notes
Si la CSid
structure n’est pas valide, la valeur de retour n’est pas définie. Avant d’appeler GetLength
, utilisez la CSid::IsValid
fonction membre pour vérifier qu’elle CSid
est valide.
Remarque
Sous débogage, la fonction génère une assertion si l’objet CSid
n’est pas valide.
CSid::GetPSID
Retourne un pointeur vers une SID
structure (identificateur de sécurité).
const SID* GetPSID() const throw(...);
Valeur retournée
Retourne l’adresse de la structure sous-jacente SID
de l’objetCSid
.
CSid::GetPSID_IDENTIFIER_AUTHORITY
Retourne un pointeur vers la SID_IDENTIFIER_AUTHORITY
structure.
const SID_IDENTIFIER_AUTHORITY* GetPSID_IDENTIFIER_AUTHORITY() const throw();
Valeur retournée
Si la méthode réussit, elle retourne l’adresse de la SID_IDENTIFIER_AUTHORITY
structure. En cas d’échec, la valeur de retour n’est pas définie. L’échec peut se produire si l’objet CSid
n’est pas valide, auquel cas la CSid::IsValid
méthode retourne FALSE
. La fonction GetLastError
peut être appelée pour obtenir des informations d’erreur étendues.
Remarque
Sous débogage, la fonction génère une assertion si l’objet CSid
n’est pas valide.
CSid::GetSubAuthority
Retourne une sous-autorisation spécifiée dans une SID
structure (identificateur de sécurité).
DWORD GetSubAuthority(DWORD nSubAuthority) const throw();
Paramètres
nSubAuthority
Sous-auteur.
Valeur retournée
Retourne la sous-authentification référencée par nSubAuthority
. La valeur de sous-autorité est un identificateur relatif (RID).
Notes
Le nSubAuthority
paramètre spécifie une valeur d’index identifiant l’élément de tableau de sous-authentification que la méthode retourne. La méthode n’effectue aucun test de validation sur cette valeur. Une application peut appeler CSid::GetSubAuthorityCount
pour découvrir la plage de valeurs acceptables.
Remarque
Sous débogage, la fonction génère une assertion si l’objet CSid
n’est pas valide.
CSid::GetSubAuthorityCount
Retourne le nombre de sous-auteurs.
UCHAR GetSubAuthorityCount() const throw();
Valeur retournée
Si la méthode réussit, la valeur de retour est le nombre de sous-authentifications.
Si la méthode échoue, la valeur de retour n’est pas définie. La méthode échoue si l’objet CSid
n’est pas valide. Pour obtenir des informations plus complètes sur les erreurs, appelez GetLastError
.
Remarque
Sous débogage, la fonction génère une assertion si l’objet CSid
n’est pas valide.
CSid::IsValid
Teste l’objet CSid
pour la validité.
bool IsValid() const throw();
Valeur retournée
Retourne TRUE
si l’objet CSid
est valide, FALSE
si ce n’est pas le cas. Il n’existe aucune information d’erreur étendue pour cette méthode ; n’appelez GetLastError
pas .
Notes
La IsValid
méthode valide l’objet CSid
en vérifiant que le numéro de révision se trouve dans une plage connue et que le nombre de sous-authorités est inférieur au nombre maximal.
CSid::LoadAccount
Met à jour l’objet CSid
en fonction du nom et du domaine du compte ou d’une structure existante SID
(identificateur de sécurité).
bool LoadAccount(
LPCTSTR pszAccountName,
LPCTSTR pszSystem = NULL) throw(...);
bool LoadAccount(
const SID* pSid,
LPCTSTR pszSystem = NULL) throw(...);
Paramètres
pszAccountName
Nom du compte.
pszSystem
Nom du système. Cette chaîne peut être le nom d’un ordinateur distant. Si cette chaîne est NULL, le système local est utilisé à la place.
pSid
Pointeur vers une SID
structure.
Valeur retournée
Retourne TRUE
en cas de réussite, FALSE
en cas d’échec. Pour obtenir des informations plus complètes sur les erreurs, appelez GetLastError
.
Notes
LoadAccount
tente de trouver un identificateur de sécurité pour le nom spécifié. Pour plus d’informations, consultez LookupAccountSid
.
CSid::operator =
Opérateur d'assignation.
CSid& operator= (const CSid& rhs) throw(...);
CSid& operator= (const SID& rhs) throw(...);
Paramètres
rhs
Identificateur SID
de sécurité ou CSid
à affecter à l’objet CSid
.
Valeur retournée
Retourne une référence à l’objet mis à jour CSid
.
operator ==
Teste deux objets de descripteur de sécurité pour l’égalité.
bool operator==(
const CSid& lhs,
const CSid& rhs) throw();
Paramètres
lhs
Identificateur SID
de sécurité ou CSid
qui apparaît sur le côté gauche de l’opérateur ==
.
rhs
( SID
identificateur de sécurité) ou CSid
qui s’affiche sur le côté droit de l’opérateur ==
.
Valeur retournée
TRUE
si les descripteurs de sécurité sont égaux ; sinon FALSE
.
operator !=
Teste deux objets de descripteur de sécurité pour l’inégalité.
bool operator!=(
const CSid& lhs,
const CSid& rhs) throw();
Paramètres
lhs
Identificateur SID
de sécurité ou CSid
qui apparaît sur le côté gauche de l’opérateur !=
.
rhs
( SID
identificateur de sécurité) ou CSid
qui s’affiche sur le côté droit de l’opérateur !=
.
Valeur retournée
TRUE
si les descripteurs de sécurité ne sont pas égaux ; sinon FALSE
.
operator <
Compare la valeur relative de deux objets de descripteur de sécurité.
bool operator<(
const CSid& lhs,
const CSid& rhs) throw();
Paramètres
lhs
Identificateur SID
de sécurité ou CSid
qui apparaît sur le côté gauche de l’opérateur <
.
rhs
( SID
identificateur de sécurité) ou CSid
qui s’affiche sur le côté droit de l’opérateur <
.
Valeur retournée
TRUE
s’il lhs
est inférieur rhs
à , sinon FALSE
.
operator <=
Compare la valeur relative de deux objets de descripteur de sécurité.
bool operator<=(
const CSid& lhs,
const CSid& rhs) throw();
Paramètres
lhs
Identificateur SID
de sécurité ou CSid
qui apparaît sur le côté gauche de l’opérateur <=
.
rhs
( SID
identificateur de sécurité) ou CSid
qui s’affiche sur le côté droit de l’opérateur <=
.
Valeur retournée
TRUE
s’il lhs
est inférieur ou égal à rhs
, sinon FALSE
.
operator >
Compare la valeur relative de deux objets de descripteur de sécurité.
bool operator>(
const CSid& lhs,
const CSid& rhs) throw();
Paramètres
lhs
Identificateur SID
de sécurité ou CSid
qui apparaît sur le côté gauche de l’opérateur >
.
rhs
( SID
identificateur de sécurité) ou CSid
qui s’affiche sur le côté droit de l’opérateur >
.
Valeur retournée
TRUE
si lhs
elle est supérieure rhs
à , sinon FALSE
.
operator >=
Compare la valeur relative de deux objets de descripteur de sécurité.
bool operator>=(
const CSid& lhs,
const CSid& rhs) throw());
Paramètres
lhs
Identificateur SID
de sécurité ou CSid
qui apparaît sur le côté gauche de l’opérateur >=
.
rhs
( SID
identificateur de sécurité) ou CSid
qui s’affiche sur le côté droit de l’opérateur >=
.
Valeur retournée
TRUE
si lhs
elle est supérieure ou égale à rhs
, sinon FALSE
.
CSid::operator const SID *
Convertit un CSid
objet en pointeur vers une SID
structure (identificateur de sécurité).
operator const SID *() const;
Notes
Retourne l’adresse de la SID
structure.
CSid::Sid
Retourne la SID
structure (identificateur de sécurité) sous forme de chaîne.
LPCTSTR Sid() const throw(...);
Valeur retournée
Retourne la structure sous forme de chaîne dans un format adapté à l’affichage, au SID
stockage ou à la transmission. Équivaut à ConvertSidToStringSid
.
CSid::SidNameUse
Retourne une description de l’état de l’objet CSid
.
SID_NAME_USE SidNameUse() const throw();
Valeur retournée
Retourne la valeur du membre de données qui stocke une valeur décrivant l’état de l’objet CSid
.
Valeur | Description |
---|---|
SidTypeUser | Indique un utilisateur SID (identificateur de sécurité). |
SidTypeGroup | Indique un groupe SID . |
SidTypeDomain | Indique un domaine SID . |
SidTypeAlias | Indique un alias SID . |
SidTypeWellKnownGroup | Indique un SID groupe bien connu. |
SidTypeDeletedAccount | Indique un SID compte supprimé. |
SidTypeInvalid | Indique une valeur non valide SID . |
SidTypeUnknown | Indique un type inconnu SID . |
SidTypeComputer | Indique un SID ordinateur. |
Notes
Appelez CSid::LoadAccount
pour mettre à jour l’objet CSid
avant d’appeler SidNameUse
pour retourner son état. SidNameUse
ne modifie pas l’état de l’objet (en appelant ou LookupAccountName
LookupAccountSid
en appelant), mais retourne uniquement l’état actuel.
Voir aussi
Exemple de sécurité
Vue d’ensemble de la classe
Fonctions globales de sécurité
Opérateurs