Condividi tramite


Classe CSid

Questa classe è un wrapper per una SID struttura (identificatore di sicurezza).

Importante

Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.

Sintassi

class CSid;

Membri

Typedef pubblici

Nome Descrizione
CSid::CSidArray Matrice di oggetti CSid.

Costruttori pubblici

Nome Descrizione
CSid::CSid Costruttore.
CSid::~CSid Distruttore.

Metodi pubblici

Nome Descrizione
CSid::AccountName Restituisce il nome dell'account associato all'oggetto CSid .
CSid::Domain Restituisce il nome del dominio associato all'oggetto CSid .
CSid::EqualPrefix Test SID (identificatore di sicurezza) prefissi per l'uguaglianza.
CSid::GetLength Restituisce la lunghezza dell'oggetto CSid .
CSid::GetPSID Restituisce un puntatore a una SID struttura.
CSid::GetPSID_IDENTIFIER_AUTHORITY Restituisce un puntatore alla SID_IDENTIFIER_AUTHORITY struttura.
CSid::GetSubAuthority Restituisce una sottoautorità specificata in una SID struttura.
CSid::GetSubAuthorityCount Restituisce il numero di sottoautorità.
CSid::IsValid Verifica la validità dell'oggetto CSid .
CSid::LoadAccount Aggiorna l'oggetto in base al nome dell'account CSid e al dominio o a una struttura esistente SID .
CSid::Sid Restituisce la stringa ID.
CSid::SidNameUse Restituisce una descrizione dello stato dell'oggetto CSid .

Operatori

Nome Descrizione
CSid::operator = Operatore di assegnazione.
CSid::operator const SID * Esegue il cast di un CSid oggetto a un puntatore a una SID struttura.

Operatori globali

Nome Descrizione
operator == Testa due oggetti descrittore di sicurezza per verificarne l'uguaglianza
operator != Verifica due oggetti descrittore di sicurezza per la disuguaglianza
operator < Confronta il valore relativo di due oggetti descrittore di sicurezza.
operator > Confronta il valore relativo di due oggetti descrittore di sicurezza.
operator <= Confronta il valore relativo di due oggetti descrittore di sicurezza.
operator >= Confronta il valore relativo di due oggetti descrittore di sicurezza.

Osservazioni:

La SID struttura è una struttura a lunghezza variabile usata per identificare in modo univoco utenti o gruppi.

Le applicazioni non devono modificare direttamente la SID struttura, ma usare invece i metodi forniti in questa classe wrapper. Vedere anche AtlGetOwnerSid, AtlSetGroupSid, AtlGetGroupSide AtlSetOwnerSid.

Per un'introduzione al modello di controllo di accesso in Windows, vedere Controllo di accesso in Windows SDK.

Requisiti

Intestazione: atlsecurity.h

CSid::AccountName

Restituisce il nome dell'account associato all'oggetto CSid .

LPCTSTR AccountName() const throw(...);

Valore restituito

Restituisce il LPCTSTR puntatore al nome dell'account.

Osservazioni:

Questo metodo tenta di trovare un nome per l'identificatore di sicurezza specificato SID . Per informazioni dettagliate, vedere LookupAccountSid.

Se non è possibile trovare alcun nome di account per , SID AccountName restituisce una stringa vuota. Questo risultato può verificarsi se un timeout di rete impedisce a questo metodo di trovare il nome. Si verifica anche per gli identificatori di sicurezza senza nome di account corrispondente, ad esempio un SID oggetto che identifica una sessione di accesso.

CSid::CSid

Costruttore.

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(...);

Parametri

rhs
Struttura esistente CSid o SID (identificatore di sicurezza).

IdentifierAuthority
L'autorità.

nSubAuthorityCount
Numero di sottoautorità.

pszAccountName
Nome dell'account.

pszSystem
Nome del sistema. Questa stringa può essere il nome di un computer remoto. Se questa stringa è NULL, viene invece usato il sistema locale.

pSid
Puntatore a una SID struttura.

Osservazioni:

Il costruttore inizializza l'oggetto CSid , impostando un membro dati interno su SidTypeInvalido copiando le impostazioni da un account esistente CSid, SIDo esistente.

Se l'inizializzazione non riesce, il costruttore genererà una CAtlException classe.

CSid::~CSid

Distruttore.

virtual ~CSid() throw();

Osservazioni:

Il distruttore libera tutte le risorse acquisite dall'oggetto .

CSid::CSidArray

Matrice di oggetti CSid.

typedef CAtlArray<CSid> CSidArray;

Osservazioni:

Questo typedef specifica il tipo di matrice che può essere usato per recuperare gli identificatori di sicurezza da un elenco di controllo di accesso (elenco di controllo di accesso). Vedere CAcl::GetAclEntries.

CSid::Domain

Restituisce il nome del dominio associato all'oggetto CSid .

LPCTSTR Domain() const throw(...);

Valore restituito

Restituisce il LPCTSTR puntatore al dominio.

Osservazioni:

Questo metodo tenta di trovare un nome per l'identificatore di sicurezza specificato SID . Per informazioni dettagliate, vedere LookupAccountSid.

Se non è possibile trovare alcun nome di account per , SID Domain restituisce il dominio come stringa vuota. Questo risultato può verificarsi se un timeout di rete impedisce a questo metodo di trovare il nome. Si verifica anche per gli identificatori di sicurezza senza nome di account corrispondente, ad esempio un SID oggetto che identifica una sessione di accesso.

CSid::EqualPrefix

Test SID (identificatore di sicurezza) prefissi per l'uguaglianza.

bool EqualPrefix(const SID& rhs) const throw();
bool EqualPrefix(const CSid& rhs) const throw();

Parametri

rhs
Struttura SID (identificatore di sicurezza) o CSid oggetto da confrontare.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Per ulteriori informazioni, vedere EqualPrefixSid.

CSid::GetLength

Restituisce la lunghezza dell'oggetto CSid .

UINT GetLength() const throw();

Valore restituito

Restituisce la lunghezza in byte dell'oggetto CSid .

Osservazioni:

Se la CSid struttura non è valida, il valore restituito non è definito. Prima di chiamare GetLength, usare la CSid::IsValid funzione membro per verificare che CSid sia valida.

Nota

Nella compilazione di debug la funzione causerà un'istruzione ASSERT se l'oggetto CSid non è valido.

CSid::GetPSID

Restituisce un puntatore a una SID struttura (identificatore di sicurezza).

const SID* GetPSID() const throw(...);

Valore restituito

Restituisce l'indirizzo della CSid struttura sottostante SID dell'oggetto.

CSid::GetPSID_IDENTIFIER_AUTHORITY

Restituisce un puntatore alla SID_IDENTIFIER_AUTHORITY struttura.

const SID_IDENTIFIER_AUTHORITY* GetPSID_IDENTIFIER_AUTHORITY() const throw();

Valore restituito

Se il metodo ha esito positivo, restituisce l'indirizzo della SID_IDENTIFIER_AUTHORITY struttura. Se ha esito negativo, il valore restituito non è definito. L'errore può verificarsi se l'oggetto CSid non è valido, nel qual caso il CSid::IsValid metodo restituisce FALSE. La funzione GetLastError può essere chiamata per informazioni di errore estese.

Nota

Nella compilazione di debug la funzione causerà un'istruzione ASSERT se l'oggetto CSid non è valido.

CSid::GetSubAuthority

Restituisce una sottoautorità specificata in una SID struttura (identificatore di sicurezza).

DWORD GetSubAuthority(DWORD nSubAuthority) const throw();

Parametri

nSubAuthority
Sottoautorità.

Valore restituito

Restituisce la sottoautorità a cui fa nSubAuthorityriferimento . Il valore di subauthority è un identificatore relativo (RID).

Osservazioni:

Il nSubAuthority parametro specifica un valore di indice che identifica l'elemento della matrice di sottoautorità restituito dal metodo. Il metodo non esegue test di convalida su questo valore. Un'applicazione può chiamare CSid::GetSubAuthorityCount per individuare l'intervallo di valori accettabili.

Nota

Nella compilazione di debug la funzione causerà un'istruzione ASSERT se l'oggetto CSid non è valido.

CSid::GetSubAuthorityCount

Restituisce il numero di sottoautorità.

UCHAR GetSubAuthorityCount() const throw();

Valore restituito

Se il metodo ha esito positivo, il valore restituito è il numero di sottoautorità.

Se il metodo ha esito negativo, il valore restituito non è definito. Il metodo ha esito negativo se l'oggetto CSid non è valido. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Nota

Nella compilazione di debug la funzione causerà un'istruzione ASSERT se l'oggetto CSid non è valido.

CSid::IsValid

Verifica la validità dell'oggetto CSid .

bool IsValid() const throw();

Valore restituito

Restituisce TRUE se l'oggetto CSid è valido, FALSE in caso contrario. Non sono presenti informazioni di errore estese per questo metodo; non chiamare GetLastError.

Osservazioni:

Il IsValid metodo convalida l'oggetto CSid verificando che il numero di revisione sia compreso in un intervallo noto e che il numero di sottoautorità sia minore del valore massimo.

CSid::LoadAccount

Aggiorna l'oggetto in base al nome dell'account CSid e al dominio o a una struttura esistente SID (identificatore di sicurezza).

bool LoadAccount(
    LPCTSTR pszAccountName,
    LPCTSTR pszSystem = NULL) throw(...);

bool LoadAccount(
    const SID* pSid,
    LPCTSTR pszSystem = NULL) throw(...);

Parametri

pszAccountName
Nome dell'account.

pszSystem
Nome del sistema. Questa stringa può essere il nome di un computer remoto. Se questa stringa è NULL, viene invece usato il sistema locale.

pSid
Puntatore a una SID struttura.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni:

LoadAccount tenta di trovare un identificatore di sicurezza per il nome specificato. Per ulteriori informazioni, vedere LookupAccountSid.

CSid::operator =

Operatore di assegnazione.

CSid& operator= (const CSid& rhs) throw(...);
CSid& operator= (const SID& rhs) throw(...);

Parametri

rhs
Oggetto SID (identificatore di sicurezza) o CSid da assegnare all'oggetto CSid .

Valore restituito

Restituisce un riferimento all'oggetto aggiornato CSid .

operator ==

Verifica l'uguaglianza di due oggetti descrittore di sicurezza.

bool operator==(
    const CSid& lhs,
    const CSid& rhs) throw();

Parametri

lhs
( SID identificatore di sicurezza) o CSid visualizzato sul lato sinistro dell'operatore == .

rhs
Oggetto SID (identificatore di sicurezza) o CSid visualizzato sul lato destro dell'operatore == .

Valore restituito

TRUE se i descrittori di sicurezza sono uguali, in caso contrario FALSE.

operator !=

Verifica due oggetti descrittore di sicurezza per verificare la disuguaglianza.

bool operator!=(
    const CSid& lhs,
    const CSid& rhs) throw();

Parametri

lhs
( SID identificatore di sicurezza) o CSid visualizzato sul lato sinistro dell'operatore != .

rhs
Oggetto SID (identificatore di sicurezza) o CSid visualizzato sul lato destro dell'operatore != .

Valore restituito

TRUE se i descrittori di sicurezza non sono uguali, in caso contrario FALSE.

operator <

Confronta il valore relativo di due oggetti descrittore di sicurezza.

bool operator<(
    const CSid& lhs,
    const CSid& rhs) throw();

Parametri

lhs
( SID identificatore di sicurezza) o CSid visualizzato sul lato sinistro dell'operatore < .

rhs
Oggetto SID (identificatore di sicurezza) o CSid visualizzato sul lato destro dell'operatore < .

Valore restituito

TRUE se lhs è minore di rhs, in caso contrario FALSE.

operator <=

Confronta il valore relativo di due oggetti descrittore di sicurezza.

bool operator<=(
    const CSid& lhs,
    const CSid& rhs) throw();

Parametri

lhs
( SID identificatore di sicurezza) o CSid visualizzato sul lato sinistro dell'operatore <= .

rhs
Oggetto SID (identificatore di sicurezza) o CSid visualizzato sul lato destro dell'operatore <= .

Valore restituito

TRUE se lhs è minore o uguale a rhs, in caso contrario FALSE.

operator >

Confronta il valore relativo di due oggetti descrittore di sicurezza.

bool operator>(
    const CSid& lhs,
    const CSid& rhs) throw();

Parametri

lhs
( SID identificatore di sicurezza) o CSid visualizzato sul lato sinistro dell'operatore > .

rhs
Oggetto SID (identificatore di sicurezza) o CSid visualizzato sul lato destro dell'operatore > .

Valore restituito

TRUE se lhs è maggiore di rhs, in caso contrario FALSE.

operator >=

Confronta il valore relativo di due oggetti descrittore di sicurezza.

bool operator>=(
    const CSid& lhs,
    const CSid& rhs) throw());

Parametri

lhs
( SID identificatore di sicurezza) o CSid visualizzato sul lato sinistro dell'operatore >= .

rhs
Oggetto SID (identificatore di sicurezza) o CSid visualizzato sul lato destro dell'operatore >= .

Valore restituito

TRUE se lhs è maggiore o uguale a rhs, in caso contrario FALSE.

CSid::operator const SID *

Esegue il cast di un CSid oggetto a un puntatore a una SID struttura (identificatore di sicurezza).

operator const SID *() const;

Osservazioni:

Restituisce l'indirizzo della SID struttura.

CSid::Sid

Restituisce la SID struttura (identificatore di sicurezza) come stringa.

LPCTSTR Sid() const throw(...);

Valore restituito

Restituisce la SID struttura come stringa in un formato adatto per la visualizzazione, l'archiviazione o la trasmissione. È equivalente a ConvertSidToStringSid.

CSid::SidNameUse

Restituisce una descrizione dello stato dell'oggetto CSid .

SID_NAME_USE SidNameUse() const throw();

Valore restituito

Restituisce il valore del membro dati che archivia un valore che descrive lo stato dell'oggetto CSid .

valore Descrizione
SidTypeUser Indica un utente SID (identificatore di sicurezza).
SidTypeGroup Indica un gruppo SID.
SidTypeDomain Indica un dominio SID.
SidTypeAlias Indica un alias SID.
SidTypeWellKnownGroup Indica un SID oggetto per un gruppo noto.
SidTypeDeletedAccount Indica un SID oggetto per un account eliminato.
SidTypeInvalid Indica un oggetto non valido SID.
SidTypeUnknown Indica un tipo sconosciuto SID .
SidTypeComputer Indica un oggetto SID per un computer.

Osservazioni:

Chiamare CSid::LoadAccount per aggiornare l'oggetto CSid prima di chiamare SidNameUse per restituirne lo stato. SidNameUse non modifica lo stato dell'oggetto (chiamando a LookupAccountName o LookupAccountSid), ma restituisce solo lo stato corrente.

Vedi anche

Esempio di sicurezza
Panoramica della classe
Funzioni globali di sicurezza
Operatori