CSid
-Klasse
Diese Klasse ist ein Wrapper für eine SID
(Sicherheitsbezeichner)-Struktur.
Wichtig
Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die im Windows-Runtime ausgeführt werden.
Syntax
class CSid;
Member
Öffentliche Typedefs
Name | Beschreibung |
---|---|
CSid::CSidArray |
Ein Array von CSid -Objekten. |
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CSid::CSid |
Der Konstruktor. |
CSid::~CSid |
Der Destruktor. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CSid::AccountName |
Gibt den Namen des Kontos zurück, das dem CSid Objekt zugeordnet ist. |
CSid::Domain |
Gibt den Namen der Domäne zurück, die dem CSid Objekt zugeordnet ist. |
CSid::EqualPrefix |
Tests SID (Sicherheitsbezeichner)-Präfixe für Gleichheit. |
CSid::GetLength |
Gibt die Länge des CSid Objekts zurück. |
CSid::GetPSID |
Gibt einen Zeiger auf eine SID Struktur zurück. |
CSid::GetPSID_IDENTIFIER_AUTHORITY |
Gibt einen Zeiger auf die SID_IDENTIFIER_AUTHORITY Struktur zurück. |
CSid::GetSubAuthority |
Gibt eine angegebene Unterautorität in einer SID Struktur zurück. |
CSid::GetSubAuthorityCount |
Gibt die Anzahl der Unterautorität zurück. |
CSid::IsValid |
Testet das CSid Objekt auf Gültigkeit. |
CSid::LoadAccount |
Aktualisiert das CSid Objekt anhand des Kontonamens und der Domäne oder einer vorhandenen SID Struktur. |
CSid::Sid |
Gibt die ID-Zeichenfolge zurück. |
CSid::SidNameUse |
Gibt eine Beschreibung des Zustands des CSid Objekts zurück. |
Operatoren
Name | Beschreibung |
---|---|
CSid::operator = |
Zuweisungsoperator. |
CSid::operator const SID * |
Wandelt ein CSid Objekt in einen Zeiger in eine SID Struktur um. |
Globale Operatoren
Name | Beschreibung |
---|---|
operator == |
Testet zwei Sicherheitsdeskriptorobjekte auf Gleichheit |
operator != |
Testet zwei Sicherheitsdeskriptorobjekte auf Ungleichheit |
operator < |
Vergleicht den relativen Wert von zwei Sicherheitsdeskriptorobjekten. |
operator > |
Vergleicht den relativen Wert von zwei Sicherheitsdeskriptorobjekten. |
operator <= |
Vergleicht den relativen Wert von zwei Sicherheitsdeskriptorobjekten. |
operator >= |
Vergleicht den relativen Wert von zwei Sicherheitsdeskriptorobjekten. |
Hinweise
Die SID
Struktur ist eine Struktur mit variabler Länge, die verwendet wird, um Benutzer oder Gruppen eindeutig zu identifizieren.
Anwendungen sollten die SID
Struktur nicht direkt ändern, sondern stattdessen die in dieser Wrapperklasse bereitgestellten Methoden verwenden. Siehe auch AtlGetOwnerSid
, , AtlSetGroupSid
, AtlGetGroupSid
und AtlSetOwnerSid
.
Eine Einführung in das Zugriffssteuerungsmodell in Windows finden Sie unter Access Control im Windows SDK.
Anforderungen
Kopfzeile: atlsecurity.h
CSid::AccountName
Gibt den Namen des Kontos zurück, das dem CSid
Objekt zugeordnet ist.
LPCTSTR AccountName() const throw(...);
Rückgabewert
Gibt den LPCTSTR
Namen des Kontos zurück.
Hinweise
Diese Methode versucht, einen Namen für den angegebenen SID
(Sicherheitsbezeichner) zu finden. Ausführliche Informationen finden Sie unter LookupAccountSid
.
Wenn kein Kontoname für die SID
gefunden werden kann, AccountName
wird eine leere Zeichenfolge zurückgegeben. Dieses Ergebnis kann auftreten, wenn ein Netzwerktimeout verhindert, dass diese Methode den Namen findet. Sie tritt auch für Sicherheitsbezeichner ohne entsprechenden Kontonamen auf, z. B. für eine SID
Anmeldesitzung.
CSid::CSid
Der Konstruktor.
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(...);
Parameter
rhs
Eine vorhandene CSid
Objekt- oder SID
(Sicherheits-ID)-Struktur.
IdentifierAuthority
Die Autorität.
nSubAuthorityCount
Die Anzahl der Unterautoritäten.
pszAccountName
Der Kontoname.
pszSystem
Der Systemname. Diese Zeichenfolge kann der Name eines Remotecomputers sein. Wenn diese Zeichenfolge NULL ist, wird stattdessen das lokale System verwendet.
pSid
Ein Zeiger auf eine SID
Struktur.
Hinweise
Der Konstruktor initialisiert das CSid
Objekt, legt ein internes Datenelement auf SidTypeInvalid
oder kopiert die Einstellungen aus einem vorhandenen CSid
, SID
oder vorhandenen Konto.
Wenn die Initialisierung fehlschlägt, löst der Konstruktor eine CAtlException
Klasse aus.
CSid::~CSid
Der Destruktor.
virtual ~CSid() throw();
Hinweise
Der Destruktor gibt alle ressourcen frei, die vom Objekt erworben wurden.
CSid::CSidArray
Ein Array von CSid
-Objekten.
typedef CAtlArray<CSid> CSidArray;
Hinweise
Dieser Typedef gibt den Arraytyp an, der zum Abrufen von Sicherheitsbezeichnern aus einer ACL (Zugriffssteuerungsliste) verwendet werden kann. Siehe CAcl::GetAclEntries
.
CSid::Domain
Gibt den Namen der Domäne zurück, die dem CSid
Objekt zugeordnet ist.
LPCTSTR Domain() const throw(...);
Rückgabewert
Gibt den LPCTSTR
Zeiger auf die Domäne zurück.
Hinweise
Diese Methode versucht, einen Namen für den angegebenen SID
(Sicherheitsbezeichner) zu finden. Ausführliche Informationen finden Sie unter LookupAccountSid
.
Wenn kein Kontoname für die SID
gefunden werden kann, Domain
wird die Domäne als leere Zeichenfolge zurückgegeben. Dieses Ergebnis kann auftreten, wenn ein Netzwerktimeout verhindert, dass diese Methode den Namen findet. Sie tritt auch für Sicherheitsbezeichner ohne entsprechenden Kontonamen auf, z. B. für eine SID
Anmeldesitzung.
CSid::EqualPrefix
Tests SID
(Sicherheitsbezeichner)-Präfixe für Gleichheit.
bool EqualPrefix(const SID& rhs) const throw();
bool EqualPrefix(const CSid& rhs) const throw();
Parameter
rhs
Die SID
(Sicherheits-ID)-Struktur oder CSid
das zu vergleichende Objekt.
Rückgabewert
Gibt TRUE
bei Erfolg bzw. FALSE
bei einem Fehler zurück.
Hinweise
Weitere Informationen finden Sie unter EqualPrefixSid
.
CSid::GetLength
Gibt die Länge des CSid
Objekts zurück.
UINT GetLength() const throw();
Rückgabewert
Gibt die Länge in Byte des CSid
Objekts zurück.
Hinweise
Wenn die Struktur ungültig ist, ist der CSid
Rückgabewert nicht definiert. Verwenden Sie vor dem Aufrufen GetLength
die CSid::IsValid
Memberfunktion, um zu überprüfen, ob sie CSid
gültig ist.
Hinweis
Bei Debugbuilds führt die Funktion zu einer ASSERTION, wenn das CSid
Objekt ungültig ist.
CSid::GetPSID
Gibt einen Zeiger auf eine SID
(Sicherheitsbezeichner)-Struktur zurück.
const SID* GetPSID() const throw(...);
Rückgabewert
Gibt die Adresse der zugrunde liegenden SID
Struktur des CSid
Objekts zurück.
CSid::GetPSID_IDENTIFIER_AUTHORITY
Gibt einen Zeiger auf die SID_IDENTIFIER_AUTHORITY
Struktur zurück.
const SID_IDENTIFIER_AUTHORITY* GetPSID_IDENTIFIER_AUTHORITY() const throw();
Rückgabewert
Wenn die Methode erfolgreich ist, wird die Adresse der SID_IDENTIFIER_AUTHORITY
Struktur zurückgegeben. Wenn ein Fehler auftritt, ist der Rückgabewert nicht definiert. Fehler können auftreten, wenn das CSid
Objekt ungültig ist, in diesem Fall gibt die CSid::IsValid
Methode zurück FALSE
. Die Funktion GetLastError
kann für erweiterte Fehlerinformationen aufgerufen werden.
Hinweis
Bei Debugbuilds führt die Funktion zu einer ASSERTION, wenn das CSid
Objekt ungültig ist.
CSid::GetSubAuthority
Gibt eine angegebene Unterautorität in einer SID
(Sicherheitsbezeichner)-Struktur zurück.
DWORD GetSubAuthority(DWORD nSubAuthority) const throw();
Parameter
nSubAuthority
Die Unterautorität.
Rückgabewert
Gibt die Unterautorität zurück, auf die verwiesen wird.nSubAuthority
Der Unterautoritätswert ist ein relativer Bezeichner (RID).
Hinweise
Der nSubAuthority
Parameter gibt einen Indexwert an, der das Arrayelement der Unterautorität identifiziert, das von der Methode zurückgegeben wird. Die Methode führt keine Überprüfungstests für diesen Wert durch. Eine Anwendung kann aufrufen CSid::GetSubAuthorityCount
, um den Bereich zulässiger Werte zu ermitteln.
Hinweis
Bei Debugbuilds führt die Funktion zu einer ASSERTION, wenn das CSid
Objekt ungültig ist.
CSid::GetSubAuthorityCount
Gibt die Anzahl der Unterautorität zurück.
UCHAR GetSubAuthorityCount() const throw();
Rückgabewert
Wenn die Methode erfolgreich ist, ist der Rückgabewert die Anzahl der Unterautorität.
Wenn die Methode fehlschlägt, ist der Rückgabewert nicht definiert. Die Methode schlägt fehl, wenn das CSid
Objekt ungültig ist. Um erweiterte Fehlerinformationen abzurufen, rufen Sie GetLastError
auf.
Hinweis
Bei Debugbuilds führt die Funktion zu einer ASSERTION, wenn das CSid
Objekt ungültig ist.
CSid::IsValid
Testet das CSid
Objekt auf Gültigkeit.
bool IsValid() const throw();
Rückgabewert
Gibt zurück TRUE
, wenn das CSid
Objekt gültig ist, FALSE
wenn nicht. Für diese Methode gibt es keine erweiterten Fehlerinformationen; rufen Sie nicht auf GetLastError
.
Hinweise
Die IsValid
Methode überprüft das CSid
Objekt, indem überprüft wird, ob sich die Revisionsnummer innerhalb eines bekannten Bereichs befindet und dass die Anzahl der Unterautoritäten kleiner als das Maximum ist.
CSid::LoadAccount
Aktualisiert das CSid
Objekt anhand des Kontonamens und der Domäne oder einer vorhandenen SID
(Sicherheits-ID)-Struktur.
bool LoadAccount(
LPCTSTR pszAccountName,
LPCTSTR pszSystem = NULL) throw(...);
bool LoadAccount(
const SID* pSid,
LPCTSTR pszSystem = NULL) throw(...);
Parameter
pszAccountName
Der Kontoname.
pszSystem
Der Systemname. Diese Zeichenfolge kann der Name eines Remotecomputers sein. Wenn diese Zeichenfolge NULL ist, wird stattdessen das lokale System verwendet.
pSid
Ein Zeiger auf eine SID
Struktur.
Rückgabewert
Gibt TRUE
bei Erfolg bzw. FALSE
bei einem Fehler zurück. Um erweiterte Fehlerinformationen abzurufen, rufen Sie GetLastError
auf.
Hinweise
LoadAccount
versucht, eine Sicherheits-ID für den angegebenen Namen zu suchen. Weitere Informationen finden Sie unter LookupAccountSid
.
CSid::operator =
Zuweisungsoperator.
CSid& operator= (const CSid& rhs) throw(...);
CSid& operator= (const SID& rhs) throw(...);
Parameter
rhs
Der SID
(Sicherheitsbezeichner) oder CSid
das Objekt zuzuweisen CSid
.
Rückgabewert
Gibt einen Verweis auf das aktualisierte CSid
Objekt zurück.
operator ==
Testet zwei Sicherheitsdeskriptorobjekte auf Gleichheit.
bool operator==(
const CSid& lhs,
const CSid& rhs) throw();
Parameter
lhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der linken Seite des ==
Operators angezeigt wird.
rhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der rechten Seite des ==
Operators angezeigt wird.
Rückgabewert
TRUE
wenn die Sicherheitsbeschreibungen gleich sind, andernfalls FALSE
.
operator !=
Testet zwei Sicherheitsdeskriptorobjekte auf Ungleichheit.
bool operator!=(
const CSid& lhs,
const CSid& rhs) throw();
Parameter
lhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der linken Seite des !=
Operators angezeigt wird.
rhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der rechten Seite des !=
Operators angezeigt wird.
Rückgabewert
TRUE
wenn die Sicherheitsbeschreibungen nicht gleich sind, andernfalls FALSE
.
operator <
Vergleicht den relativen Wert von zwei Sicherheitsdeskriptorobjekten.
bool operator<(
const CSid& lhs,
const CSid& rhs) throw();
Parameter
lhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der linken Seite des <
Operators angezeigt wird.
rhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der rechten Seite des <
Operators angezeigt wird.
Rückgabewert
TRUE
wenn lhs
kleiner als rhs
, andernfalls FALSE
.
operator <=
Vergleicht den relativen Wert von zwei Sicherheitsdeskriptorobjekten.
bool operator<=(
const CSid& lhs,
const CSid& rhs) throw();
Parameter
lhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der linken Seite des <=
Operators angezeigt wird.
rhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der rechten Seite des <=
Operators angezeigt wird.
Rückgabewert
TRUE
ist lhs
kleiner oder gleich rhs
, andernfalls FALSE
.
operator >
Vergleicht den relativen Wert von zwei Sicherheitsdeskriptorobjekten.
bool operator>(
const CSid& lhs,
const CSid& rhs) throw();
Parameter
lhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der linken Seite des >
Operators angezeigt wird.
rhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der rechten Seite des >
Operators angezeigt wird.
Rückgabewert
TRUE
wenn lhs
größer als rhs
, andernfalls FALSE
.
operator >=
Vergleicht den relativen Wert von zwei Sicherheitsdeskriptorobjekten.
bool operator>=(
const CSid& lhs,
const CSid& rhs) throw());
Parameter
lhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der linken Seite des >=
Operators angezeigt wird.
rhs
Der SID
(Sicherheitsbezeichner) oder CSid
der auf der rechten Seite des >=
Operators angezeigt wird.
Rückgabewert
TRUE
ist lhs
größer oder gleich rhs
, andernfalls FALSE
.
CSid::operator const SID *
Wandelt ein CSid
Objekt in einen Zeiger in eine SID
(Sicherheitsbezeichner)-Struktur um.
operator const SID *() const;
Hinweise
Gibt die Adresse der SID
Struktur zurück.
CSid::Sid
Gibt die SID
Struktur (Sicherheitsbezeichner) als Zeichenfolge zurück.
LPCTSTR Sid() const throw(...);
Rückgabewert
Gibt die SID
Struktur als Zeichenfolge in einem Format zurück, das für Anzeige, Speicher oder Übertragung geeignet ist. Entspricht ConvertSidToStringSid
.
CSid::SidNameUse
Gibt eine Beschreibung des Zustands des CSid
Objekts zurück.
SID_NAME_USE SidNameUse() const throw();
Rückgabewert
Gibt den Wert des Datenelements zurück, das einen Wert speichert, der den Status des CSid
Objekts beschreibt.
Wert | Beschreibung |
---|---|
SidTypeUser | Gibt einen Benutzer SID (Sicherheitsbezeichner) an. |
SidTypeGroup | Gibt eine Gruppe SID an. |
SidTypeDomain | Gibt eine Domäne SID an. |
SidTypeAlias | Gibt einen Alias SID an. |
SidTypeWellKnownGroup | Gibt eine SID für eine bekannte Gruppe an. |
SidTypeDeletedAccount | Gibt ein SID für ein gelöschtes Konto an. |
SidTypeInvalid | Gibt einen ungültigen SID Wert an. |
SidTypeUnknown | Gibt einen unbekannten SID Typ an. |
SidTypeComputer | Gibt einen SID Für einen Computer an. |
Hinweise
Rufen Sie CSid::LoadAccount
auf, um das CSid
Objekt vor dem Aufrufen SidNameUse
zu aktualisieren, um den Zustand zurückzugeben. SidNameUse
ändert nicht den Status des Objekts (durch Aufrufen LookupAccountName
oder LookupAccountSid
), sondern gibt nur den aktuellen Zustand zurück.
Siehe auch
Sicherheitsbeispiel
Klassenübersicht
Globale Sicherheitsfunktionen
Operatoren