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
, , AtlGetGroupSid
AtlSetGroupSid
i 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 CSid
konta , SID
lub 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 GetLength
metody 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 FALSE
wartość . 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ę nSubAuthority
element . 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 SID element . |
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