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
, AtlGetGroupSid
e 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 SidTypeInvalid
o copiando le impostazioni da un account esistente CSid
, SID
o 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 nSubAuthority
riferimento . 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