Sdílet prostřednictvím


Třída CSid

Tato třída je obálka SID pro strukturu (identifikátor zabezpečení).

Důležité

Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.

Syntaxe

class CSid;

Členové

Veřejné definice typedef

Název Popis
CSid::CSidArray Pole CSid objektů.

Veřejné konstruktory

Název Popis
CSid::CSid Konstruktor
CSid::~CSid Destruktor.

Veřejné metody

Název Popis
CSid::AccountName Vrátí název účtu přidruženého k objektu CSid .
CSid::Domain Vrátí název domény přidružené k objektu CSid .
CSid::EqualPrefix Testy SID (identifikátor zabezpečení) předpony rovnosti.
CSid::GetLength Vrátí délku objektu CSid .
CSid::GetPSID Vrátí ukazatel na SID strukturu.
CSid::GetPSID_IDENTIFIER_AUTHORITY Vrátí ukazatel na SID_IDENTIFIER_AUTHORITY strukturu.
CSid::GetSubAuthority Vrátí zadanou dílčí autoritu ve SID struktuře.
CSid::GetSubAuthorityCount Vrátí počet dílčích ověření.
CSid::IsValid Otestuje platnost objektu CSid .
CSid::LoadAccount CSid Aktualizuje objekt s názvem účtu a doménou nebo existující SID strukturou.
CSid::Sid Vrátí řetězec ID.
CSid::SidNameUse Vrátí popis stavu objektu CSid .

Operátory

Název Popis
CSid::operator = Operátor přiřazení.
CSid::operator const SID * Přetypuje CSid objekt na ukazatel na SID strukturu.

Globální operátory

Název Popis
operator == Testuje dva objekty popisovače zabezpečení pro rovnost.
operator != Testuje dva objekty popisovače zabezpečení kvůli nerovnosti.
operator < Porovná relativní hodnotu dvou objektů popisovače zabezpečení.
operator > Porovná relativní hodnotu dvou objektů popisovače zabezpečení.
operator <= Porovná relativní hodnotu dvou objektů popisovače zabezpečení.
operator >= Porovná relativní hodnotu dvou objektů popisovače zabezpečení.

Poznámky

Struktura SID je struktura s proměnnou délkou, která slouží k jedinečné identifikaci uživatelů nebo skupin.

Aplikace by neměly strukturu upravovat SID přímo, ale místo toho používají metody uvedené v této třídě obálky. Viz také AtlGetOwnerSid, AtlSetGroupSid, AtlGetGroupSid, a AtlSetOwnerSid.

Úvod k modelu řízení přístupu ve Windows najdete v tématu Řízení přístupu v sadě Windows SDK.

Požadavky

Hlavička: atlsecurity.h

CSid::AccountName

Vrátí název účtu přidruženého k objektu CSid .

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

Vrácená hodnota

LPCTSTR Vrátí odkazující na název účtu.

Poznámky

Tato metoda se pokusí najít název zadaného SID (identifikátoru zabezpečení). Úplné podrobnosti najdete v tématu LookupAccountSid.

Pokud nelze najít žádný název SID účtu, AccountName vrátí prázdný řetězec. K tomuto výsledku může dojít, pokud vypršení časového limitu sítě zabrání této metodě najít název. Dochází také k identifikátorům zabezpečení bez odpovídajícího názvu účtu, například pro SID identifikátory, které identifikují přihlašovací relaci.

CSid::CSid

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

Parametry

rhs
Existující CSid objekt nebo SID (identifikátor zabezpečení)

IdentifierAuthority
Autorita.

nSubAuthorityCount
Počet dílčích ověření.

pszAccountName
Název účtu.

pszSystem
Název systému. Tento řetězec může být název vzdáleného počítače. Pokud je tento řetězec NULL, použije se místo toho místní systém.

pSid
Ukazatel na SID strukturu.

Poznámky

Konstruktor inicializuje CSid objekt, nastaví interní datový člen na SidTypeInvalid, nebo zkopírováním nastavení z existujícího CSidnebo SIDexistujícího účtu.

Pokud inicializace selže, konstruktor vyvolá CAtlException třídu.

CSid::~CSid

Destruktor.

virtual ~CSid() throw();

Poznámky

Destruktor uvolní všechny prostředky získané objektem.

CSid::CSidArray

Pole CSid objektů.

typedef CAtlArray<CSid> CSidArray;

Poznámky

Tento typdef určuje typ pole, který lze použít k načtení identifikátorů zabezpečení ze seznamu ACL (seznam řízení přístupu). Viz třída CAcl::GetAclEntries.

CSid::Domain

Vrátí název domény přidružené k objektu CSid .

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

Vrácená hodnota

LPCTSTR Vrátí odkazování na doménu.

Poznámky

Tato metoda se pokusí najít název zadaného SID (identifikátoru zabezpečení). Úplné podrobnosti najdete v tématu LookupAccountSid.

Pokud nelze najít žádný název SID účtu, Domain vrátí doménu jako prázdný řetězec. K tomuto výsledku může dojít, pokud vypršení časového limitu sítě zabrání této metodě najít název. Dochází také k identifikátorům zabezpečení bez odpovídajícího názvu účtu, například pro SID identifikátory, které identifikují přihlašovací relaci.

CSid::EqualPrefix

Testy SID (identifikátor zabezpečení) předpony rovnosti.

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

Parametry

rhs
Struktura SID (identifikátor zabezpečení) nebo CSid objekt, který chcete porovnat.

Vrácená hodnota

Vrátí TRUE úspěch FALSE při selhání.

Poznámky

Další informace najdete na webu EqualPrefixSid.

CSid::GetLength

Vrátí délku objektu CSid .

UINT GetLength() const throw();

Vrácená hodnota

Vrátí délku v bajtech objektu CSid .

Poznámky

CSid Pokud struktura není platná, je vrácená hodnota nedefinovaná. Před voláním GetLengthCSid::IsValid ověřte CSid platnost pomocí členské funkce.

Poznámka:

V části ladění sestavení funkce způsobí ASSERT, pokud CSid objekt není platný.

CSid::GetPSID

Vrátí ukazatel na SID strukturu (identifikátor zabezpečení).

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

Vrácená hodnota

Vrátí adresu základní SID struktury objektuCSid.

CSid::GetPSID_IDENTIFIER_AUTHORITY

Vrátí ukazatel na SID_IDENTIFIER_AUTHORITY strukturu.

const SID_IDENTIFIER_AUTHORITY* GetPSID_IDENTIFIER_AUTHORITY() const throw();

Vrácená hodnota

Pokud je metoda úspěšná, vrátí adresu SID_IDENTIFIER_AUTHORITY struktury. Pokud selže, návratová hodnota není definována. K selhání může dojít, pokud CSid objekt není platný, v takovém případě CSid::IsValid metoda vrátí FALSE. Funkci GetLastError lze volat pro rozšířené informace o chybách.

Poznámka:

V části ladění sestavení funkce způsobí ASSERT, pokud CSid objekt není platný.

CSid::GetSubAuthority

Vrátí zadanou SID dílčí autoritu ve struktuře (identifikátor zabezpečení).

DWORD GetSubAuthority(DWORD nSubAuthority) const throw();

Parametry

nSubAuthority
Podauthorita.

Vrácená hodnota

Vrátí podauthoritu, na kterou nSubAuthorityodkazuje . Hodnota dílčího ověřování je relativní identifikátor (RID).

Poznámky

Parametr nSubAuthority určuje hodnotu indexu identifikující prvek pole subauthority, který metoda vrátí. Metoda neprovádí žádné ověřovací testy pro tuto hodnotu. Aplikace může volat CSid::GetSubAuthorityCount rozsah přijatelných hodnot.

Poznámka:

V části ladění sestavení funkce způsobí ASSERT, pokud CSid objekt není platný.

CSid::GetSubAuthorityCount

Vrátí počet dílčích ověření.

UCHAR GetSubAuthorityCount() const throw();

Vrácená hodnota

Pokud je metoda úspěšná, návratová hodnota je počet dílčích ověření.

Pokud metoda selže, návratová hodnota není definována. Metoda selže, pokud CSid je objekt neplatný. Pokud chcete získat rozšířené informace o chybě, zavolejte GetLastError.

Poznámka:

V části ladění sestavení funkce způsobí ASSERT, pokud CSid objekt není platný.

CSid::IsValid

Otestuje platnost objektu CSid .

bool IsValid() const throw();

Vrácená hodnota

Vrátí TRUE , pokud CSid je objekt platný, FALSE pokud ne. Pro tuto metodu neexistují žádné rozšířené informace o chybě; nevolejte GetLastError.

Poznámky

Metoda IsValid ověří CSid objekt ověřením, že číslo revize je v známém rozsahu a že počet dílčích ověření je menší než maximum.

CSid::LoadAccount

CSid Aktualizuje objekt s názvem účtu a doménou nebo existující SID strukturou (identifikátor zabezpečení).

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

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

Parametry

pszAccountName
Název účtu.

pszSystem
Název systému. Tento řetězec může být název vzdáleného počítače. Pokud je tento řetězec NULL, použije se místo toho místní systém.

pSid
Ukazatel na SID strukturu.

Vrácená hodnota

Vrátí TRUE úspěch FALSE při selhání. Pokud chcete získat rozšířené informace o chybě, zavolejte GetLastError.

Poznámky

LoadAccount pokusí najít identifikátor zabezpečení pro zadaný název. Další informace najdete na webu LookupAccountSid.

CSid::operator =

Operátor přiřazení.

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

Parametry

rhs
Identifikátor SID zabezpečení nebo CSid přiřazení k objektu CSid .

Vrácená hodnota

Vrátí odkaz na aktualizovaný CSid objekt.

operator ==

Testuje dva objekty popisovače zabezpečení pro rovnost.

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

Parametry

lhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na levé straně operátoru == .

rhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na pravé straně operátoru == .

Vrácená hodnota

TRUE jsou-li popisovače zabezpečení stejné, jinak FALSE.

operator !=

Testuje dva objekty popisovače zabezpečení pro nerovnost.

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

Parametry

lhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na levé straně operátoru != .

rhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na pravé straně operátoru != .

Vrácená hodnota

TRUE pokud popisovače zabezpečení nejsou stejné, jinak FALSE.

operator <

Porovná relativní hodnotu dvou objektů popisovače zabezpečení.

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

Parametry

lhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na levé straně operátoru < .

rhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na pravé straně operátoru < .

Vrácená hodnota

TRUE je-li lhs menší než rhs, jinak FALSE.

operator <=

Porovná relativní hodnotu dvou objektů popisovače zabezpečení.

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

Parametry

lhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na levé straně operátoru <= .

rhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na pravé straně operátoru <= .

Vrácená hodnota

TRUE je-li lhs menší nebo rovna rhs, jinak FALSE.

operator >

Porovná relativní hodnotu dvou objektů popisovače zabezpečení.

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

Parametry

lhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na levé straně operátoru > .

rhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na pravé straně operátoru > .

Vrácená hodnota

TRUE je-li lhs větší než rhs, jinak FALSE.

operator >=

Porovná relativní hodnotu dvou objektů popisovače zabezpečení.

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

Parametry

lhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na levé straně operátoru >= .

rhs
( SID identifikátor zabezpečení) nebo CSid který se zobrazí na pravé straně operátoru >= .

Vrácená hodnota

TRUE je-li lhs větší než nebo rovno rhs, jinak FALSE.

CSid::operator const SID *

Přetypuje CSid objekt na ukazatel na SID strukturu (identifikátor zabezpečení).

operator const SID *() const;

Poznámky

Vrátí adresu SID struktury.

CSid::Sid

SID Vrátí strukturu (identifikátor zabezpečení) jako řetězec.

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

Vrácená hodnota

SID Vrátí strukturu jako řetězec ve formátu vhodném pro zobrazení, uložení nebo přenos. Ekvivalent k ConvertSidToStringSid.

CSid::SidNameUse

Vrátí popis stavu objektu CSid .

SID_NAME_USE SidNameUse() const throw();

Vrácená hodnota

Vrátí hodnotu datového členu, který ukládá hodnotu popisující stav objektu CSid .

Hodnota Popis
SidTypeUser Označuje uživatele SID (identifikátor zabezpečení).
SidTypeGroup Označuje skupinu SID.
SidTypeDomain Označuje doménu SID.
SidTypeAlias Označuje alias SID.
SidTypeWellKnownGroup Označuje známou SID skupinu.
SidTypeDeletedAccount Označuje pro odstraněný SID účet.
SidTypeInvalid Označuje neplatnou SIDhodnotu .
SidTypeUnknown Označuje neznámý SID typ.
SidTypeComputer Označuje počítač SID .

Poznámky

Volání CSid::LoadAccount pro aktualizaci objektu CSid před voláním SidNameUse , aby vrátilo jeho stav. SidNameUse nezmění stav objektu (voláním nebo LookupAccountName LookupAccountSid), ale vrátí pouze aktuální stav.

Viz také

Ukázka zabezpečení
Přehled třídy
Globální funkce zabezpečení
Operátory