Udostępnij za pośrednictwem


Klasa CSid

Ta klasa jest otoką struktury SID (identyfikatora zabezpieczeń).

Ważne

Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.

Składnia

class CSid;

Elementy członkowskie

Definicje typów publicznych

Nazwa/nazwisko opis
CSid::CSidArray Tablica CSid obiektów.

Konstruktory publiczne

Nazwa/nazwisko opis
CSid::CSid Konstruktor.
CSid::~CSid Destruktora.

Metody publiczne

Nazwa/nazwisko opis
CSid::AccountName Zwraca nazwę konta skojarzonego z obiektem CSid .
CSid::Domain Zwraca nazwę domeny skojarzonej z obiektem CSid .
CSid::EqualPrefix Testuje SID prefiksy (identyfikator zabezpieczeń) pod kątem równości.
CSid::GetLength Zwraca długość CSid obiektu.
CSid::GetPSID Zwraca wskaźnik do SID struktury.
CSid::GetPSID_IDENTIFIER_AUTHORITY Zwraca wskaźnik do SID_IDENTIFIER_AUTHORITY struktury.
CSid::GetSubAuthority Zwraca określoną podwierzchność w SID strukturze.
CSid::GetSubAuthorityCount Zwraca liczbę podwierzchników.
CSid::IsValid Testuje obiekt pod kątem CSid ważności.
CSid::LoadAccount CSid Aktualizuje obiekt pod nazwą konta i domeną lub istniejącą SID strukturą.
CSid::Sid Zwraca ciąg identyfikatora.
CSid::SidNameUse Zwraca opis stanu CSid obiektu.

Operatory

Nazwa/nazwisko opis
CSid::operator = Operator przypisania.
CSid::operator const SID * Rzutuje CSid obiekt na wskaźnik do SID struktury.

Operatory globalne

Nazwa/nazwisko opis
operator == Testuje dwa obiekty deskryptora zabezpieczeń pod kątem równości
operator != Testuje dwa obiekty deskryptora zabezpieczeń pod kątem nierówności
operator < Porównuje względną wartość dwóch obiektów deskryptora zabezpieczeń.
operator > Porównuje względną wartość dwóch obiektów deskryptora zabezpieczeń.
operator <= Porównuje względną wartość dwóch obiektów deskryptora zabezpieczeń.
operator >= Porównuje względną wartość dwóch obiektów deskryptora zabezpieczeń.

Uwagi

Struktura SID jest strukturą o zmiennej długości służącą do unikatowego identyfikowania użytkowników lub grup.

Aplikacje nie powinny bezpośrednio modyfikować SID struktury, ale zamiast tego używają metod podanych w tej klasie otoki. Zobacz również AtlGetOwnerSid, , AtlGetGroupSidAtlSetGroupSidi AtlSetOwnerSid.

Aby zapoznać się z wprowadzeniem do modelu kontroli dostępu w systemie Windows, zobacz Kontrola dostępu w zestawie Windows SDK.

Wymagania

Nagłówek: atlsecurity.h

CSid::AccountName

Zwraca nazwę konta skojarzonego z obiektem CSid .

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

Wartość zwracana

LPCTSTR Zwraca wartość wskazującą nazwę konta.

Uwagi

Ta metoda próbuje znaleźć nazwę określonego SID (identyfikatora zabezpieczeń). Aby uzyskać szczegółowe informacje, zobacz LookupAccountSid.

Jeśli nie można odnaleźć nazwy SID konta, AccountName zwraca pusty ciąg. Ten wynik może wystąpić, jeśli limit czasu sieci uniemożliwia tej metodzie znalezienie nazwy. Występuje również w przypadku identyfikatorów zabezpieczeń bez odpowiedniej nazwy konta, na przykład identyfikatora SID identyfikującego sesję logowania.

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
Istniejąca CSid struktura obiektu lub SID (identyfikatora zabezpieczeń).

IdentifierAuthority
Urząd.

nSubAuthorityCount
Liczba podwierzchników.

pszAccountName
Nazwa konta.

pszSystem
Nazwa systemu. Ten ciąg może być nazwą komputera zdalnego. Jeśli ten ciąg ma wartość NULL, zamiast tego zostanie użyty system lokalny.

pSid
Wskaźnik do SID struktury.

Uwagi

Konstruktor inicjuje CSid obiekt, ustawiając wewnętrzny element członkowski danych na SidTypeInvalid, lub kopiując ustawienia z istniejącego CSidkonta , SIDlub istniejącego.

Jeśli inicjowanie zakończy się niepowodzeniem, konstruktor zgłosi klasęCAtlException.

CSid::~CSid

Destruktora.

virtual ~CSid() throw();

Uwagi

Destruktor zwalnia wszelkie zasoby uzyskane przez obiekt.

CSid::CSidArray

Tablica CSid obiektów.

typedef CAtlArray<CSid> CSidArray;

Uwagi

Ta definicja typu określa typ tablicy, który może służyć do pobierania identyfikatorów zabezpieczeń z listy ACL (lista kontroli dostępu). Zobacz: CAcl::GetAclEntries.

CSid::Domain

Zwraca nazwę domeny skojarzonej z obiektem CSid .

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

Wartość zwracana

LPCTSTR Zwraca wartość wskazującą domenę.

Uwagi

Ta metoda próbuje znaleźć nazwę określonego SID (identyfikatora zabezpieczeń). Aby uzyskać szczegółowe informacje, zobacz LookupAccountSid.

Jeśli nie można odnaleźć nazwy SID konta, Domain zwraca domenę jako pusty ciąg. Ten wynik może wystąpić, jeśli limit czasu sieci uniemożliwia tej metodzie znalezienie nazwy. Występuje również w przypadku identyfikatorów zabezpieczeń bez odpowiedniej nazwy konta, na przykład identyfikatora SID identyfikującego sesję logowania.

CSid::EqualPrefix

Testuje SID prefiksy (identyfikator zabezpieczeń) pod kątem równości.

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

Parametry

rhs
SID Struktura (identyfikator zabezpieczeń) lub CSid obiekt do porównania.

Wartość zwracana

Zwraca powodzenie TRUE po FALSE niepowodzeniu.

Uwagi

Aby uzyskać więcej informacji, zobacz EqualPrefixSid.

CSid::GetLength

Zwraca długość CSid obiektu.

UINT GetLength() const throw();

Wartość zwracana

Zwraca długość w bajtach CSid obiektu.

Uwagi

CSid Jeśli struktura nie jest prawidłowa, wartość zwracana jest niezdefiniowana. Przed wywołaniem GetLengthmetody użyj funkcji składowej CSid::IsValid , aby sprawdzić, czy CSid jest ona prawidłowa.

Uwaga

W obszarze debugowania kompilacje funkcja spowoduje asercję, jeśli CSid obiekt jest nieprawidłowy.

CSid::GetPSID

Zwraca wskaźnik do SID struktury (identyfikatora zabezpieczeń).

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

Wartość zwracana

Zwraca adres CSid podstawowej SID struktury obiektu.

CSid::GetPSID_IDENTIFIER_AUTHORITY

Zwraca wskaźnik do SID_IDENTIFIER_AUTHORITY struktury.

const SID_IDENTIFIER_AUTHORITY* GetPSID_IDENTIFIER_AUTHORITY() const throw();

Wartość zwracana

Jeśli metoda powiedzie się, zwraca adres SID_IDENTIFIER_AUTHORITY struktury. Jeśli zakończy się to niepowodzeniem, wartość zwracana jest niezdefiniowana. Błąd może wystąpić, jeśli CSid obiekt jest nieprawidłowy, w tym przypadku CSid::IsValid metoda zwraca FALSEwartość . Funkcję GetLastError można wywołać w celu uzyskania rozszerzonych informacji o błędzie.

Uwaga

W obszarze debugowania kompilacje funkcja spowoduje asercję, jeśli CSid obiekt jest nieprawidłowy.

CSid::GetSubAuthority

Zwraca określoną podwierzchność w SID strukturze (identyfikatora zabezpieczeń).

DWORD GetSubAuthority(DWORD nSubAuthority) const throw();

Parametry

nSubAuthority
Poduwierzytelność.

Wartość zwracana

Zwraca poduwierzytelność, do których odwołuje się nSubAuthorityelement . Wartość poduwierzytelniania jest identyfikatorem względnym (RID).

Uwagi

Parametr nSubAuthority określa wartość indeksu identyfikującą element tablicy poduwierzytelniania, który zostanie zwrócony przez metodę. Metoda nie wykonuje testów poprawności dla tej wartości. Aplikacja może wywołać metodę CSid::GetSubAuthorityCount odnajdywania zakresu dopuszczalnych wartości.

Uwaga

W obszarze debugowania kompilacje funkcja spowoduje asercję, jeśli CSid obiekt jest nieprawidłowy.

CSid::GetSubAuthorityCount

Zwraca liczbę podwierzchników.

UCHAR GetSubAuthorityCount() const throw();

Wartość zwracana

Jeśli metoda powiedzie się, zwracana wartość jest liczbą poduwierzytelniania.

Jeśli metoda nie powiedzie się, wartość zwracana jest niezdefiniowana. Metoda kończy się niepowodzeniem, jeśli CSid obiekt jest nieprawidłowy. Aby uzyskać rozszerzone informacje o błędzie, wywołaj metodę GetLastError.

Uwaga

W obszarze debugowania kompilacje funkcja spowoduje asercję, jeśli CSid obiekt jest nieprawidłowy.

CSid::IsValid

Testuje obiekt pod kątem CSid ważności.

bool IsValid() const throw();

Wartość zwracana

Zwraca wartość TRUE , jeśli CSid obiekt jest prawidłowy, FALSE jeśli nie. Nie ma rozszerzonych informacji o błędzie dla tej metody; Nie wywołujej metody GetLastError.

Uwagi

Metoda IsValid sprawdza poprawność CSid obiektu, sprawdzając, czy numer poprawki znajduje się w znanym zakresie i czy liczba poduwierzytelniania podrzędnego jest mniejsza niż maksymalna.

CSid::LoadAccount

CSid Aktualizuje obiekt przy użyciu nazwy konta i domeny lub istniejącej SID struktury (identyfikatora zabezpieczeń).

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

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

Parametry

pszAccountName
Nazwa konta.

pszSystem
Nazwa systemu. Ten ciąg może być nazwą komputera zdalnego. Jeśli ten ciąg ma wartość NULL, zamiast tego zostanie użyty system lokalny.

pSid
Wskaźnik do SID struktury.

Wartość zwracana

Zwraca powodzenie TRUE po FALSE niepowodzeniu. Aby uzyskać rozszerzone informacje o błędzie, wywołaj metodę GetLastError.

Uwagi

LoadAccount próbuje znaleźć identyfikator zabezpieczeń dla określonej nazwy. Aby uzyskać więcej informacji, zobacz LookupAccountSid.

CSid::operator =

Operator przypisania.

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

Parametry

rhs
( SID identyfikator zabezpieczeń) lub CSid do przypisania do CSid obiektu.

Wartość zwracana

Zwraca odwołanie do zaktualizowanego CSid obiektu.

operator ==

Testuje dwa obiekty deskryptora zabezpieczeń pod kątem równości.

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

Parametry

lhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po lewej stronie == operatora.

rhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po prawej stronie == operatora.

Wartość zwracana

TRUE jeśli deskryptory zabezpieczeń są równe, w przeciwnym razie FALSE.

operator !=

Testuje dwa obiekty deskryptora zabezpieczeń pod kątem nierówności.

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

Parametry

lhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po lewej stronie != operatora.

rhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po prawej stronie != operatora.

Wartość zwracana

TRUE jeśli deskryptory zabezpieczeń nie są równe, w przeciwnym razie FALSE.

operator <

Porównuje względną wartość dwóch obiektów deskryptora zabezpieczeń.

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

Parametry

lhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po lewej stronie < operatora.

rhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po prawej stronie < operatora.

Wartość zwracana

TRUE jeśli lhs wartość jest mniejsza niż rhs, w przeciwnym razie FALSE.

operator <=

Porównuje względną wartość dwóch obiektów deskryptora zabezpieczeń.

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

Parametry

lhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po lewej stronie <= operatora.

rhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po prawej stronie <= operatora.

Wartość zwracana

TRUE jeśli lhs wartość jest mniejsza niż lub równa rhs, w przeciwnym razie FALSE.

operator >

Porównuje względną wartość dwóch obiektów deskryptora zabezpieczeń.

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

Parametry

lhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po lewej stronie > operatora.

rhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po prawej stronie > operatora.

Wartość zwracana

TRUE jeśli lhs wartość jest większa niż rhs, w przeciwnym razie FALSE.

operator >=

Porównuje względną wartość dwóch obiektów deskryptora zabezpieczeń.

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

Parametry

lhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po lewej stronie >= operatora.

rhs
( SID identyfikator zabezpieczeń) lub CSid wyświetlany po prawej stronie >= operatora.

Wartość zwracana

TRUE jeśli lhs wartość jest większa niż lub równa rhs, w przeciwnym razie FALSE.

CSid::operator const SID *

Rzutuje CSid obiekt na wskaźnik do SID struktury (identyfikatora zabezpieczeń).

operator const SID *() const;

Uwagi

Zwraca adres SID struktury.

CSid::Sid

SID Zwraca strukturę (identyfikator zabezpieczeń) jako ciąg.

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

Wartość zwracana

SID Zwraca strukturę jako ciąg w formacie odpowiednim do wyświetlania, przechowywania lub transmisji. Odpowiednik elementu ConvertSidToStringSid.

CSid::SidNameUse

Zwraca opis stanu CSid obiektu.

SID_NAME_USE SidNameUse() const throw();

Wartość zwracana

Zwraca wartość elementu członkowskiego danych, który przechowuje wartość opisującą stan CSid obiektu.

Wartość Opis
SidTypeUser Wskazuje użytkownika SID (identyfikator zabezpieczeń).
SidTypeGroup Wskazuje grupę SID.
SidTypeDomain Wskazuje domenę SID.
SidTypeAlias Wskazuje alias SID.
SidTypeWellKnownGroup SID Wskazuje dla dobrze znanej grupy.
SidTypeDeletedAccount SID Wskazuje dla usuniętego konta.
SidTypeInvalid Wskazuje nieprawidłowy SIDelement .
SidTypeUnknown Wskazuje nieznany SID typ.
SidTypeComputer SID Wskazuje dla komputera.

Uwagi

Wywołaj metodę CSid::LoadAccount CSid , aby zaktualizować obiekt przed wywołaniem SidNameUse metody , aby zwrócić jego stan. SidNameUse nie zmienia stanu obiektu (przez wywołanie metody LookupAccountName lub LookupAccountSid), ale zwraca tylko bieżący stan.

Zobacz też

Przykład zabezpieczeń
Omówienie klasy
Funkcje globalne zabezpieczeń
Operatory