Freigeben über


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 des objekts zugeordneten CSid do Standard zurück.
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 do Standard 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, AtlGetGroupSidund 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 SidTypeInvalidoder kopiert die Einstellungen aus einem vorhandenen CSid, SIDoder 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 des objekts zugeordneten CSid do Standard zurück.

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

Rückgabewert

Gibt den LPCTSTR Zeiger auf die Do Standard 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 den SID Gefundenen gefunden werden kann, Domain wird dies als leere Zeichenfolge zurückgegeben Standard. 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 GetLengthdie 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, das dem Kontonamen zugewiesen ist, und aktualisiert Standard oder eine vorhandene SID (Sicherheitsbezeichner)-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 SIDan.
SidTypeDo Standard Gibt eine Do Standard SIDan.
SidTypeAlias Gibt einen Alias SIDan.
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 SIDWert 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