Partage via


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 Mises à jour l’objet CSid en fonction du nom de compte et du domaine, ou d’une structure existanteSID.
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 CSidou SIDexistant.

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 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-authentification 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 GetLastErrorpas .

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

Mises à jour l’objet CSid en fonction du nom de compte et du domaine, 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 .

Value 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 LookupAccountNameLookupAccountSiden 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