Klasa CAcl
Ta klasa jest otoką struktury ACL
(listy kontroli dostępu).
Ważne
Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.
Składnia
class CAcl
Elementy członkowskie
Definicje typów publicznych
Nazwa/nazwisko | opis |
---|---|
CAcl::CAccessMaskArray | Tablica ACCESS_MASKs. |
CAcl::CAceFlagArray | Tablica jednostek BYTEs. |
CAcl::CAceTypeArray | Tablica jednostek BYTEs. |
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CAcl::CAcl | Konstruktor. |
CAcl::~CAcl | Destruktora. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CAcl::GetAceCount | Zwraca liczbę obiektów wejścia kontroli dostępu (ACE). |
CAcl::GetAclEntries | Pobiera wpisy listy kontroli dostępu (ACL) z CAcl obiektu. |
CAcl::GetAclEntry | Pobiera wszystkie informacje o wpisie CAcl w obiekcie. |
CAcl::GetLength | Zwraca długość listy ACL. |
CAcl::GetPACL | Zwraca wskaźnik PACL (wskaźnik do listy ACL). |
CAcl::IsEmpty | Testuje obiekt pod kątem CAcl wpisów. |
CAcl::IsNull | Zwraca stan CAcl obiektu. |
CAcl::RemoveAce | Usuwa z obiektu określony wpis CAcl kontroli dostępu (ACE). |
CAcl::RemoveAces | Usuwa wszystkie wpisy kontroli dostępu (ACE) z CAcl elementu, które mają zastosowanie do danego CSid elementu . |
CAcl::SetEmpty | CAcl Oznacza obiekt jako pusty. |
CAcl::SetNull | CAcl Oznacza obiekt jako NULL. |
Operatory publiczne
Nazwa/nazwisko | opis |
---|---|
CAcl::operator const ACL * | Rzutuje CAcl obiekt na ACL strukturę. |
CAcl::operator = | Operator przypisania. |
Uwagi
Struktura ACL
jest nagłówkiem listy ACL (listy kontroli dostępu). Lista kontroli dostępu zawiera sekwencyjną listę zera lub większej liczby wpisów kontroli dostępu. Poszczególne ACL są numerowane z zakresu od 0 do n-1, gdzie n jest liczbą ACL. Podczas edytowania listy ACL aplikacja odwołuje się do wpisu kontroli dostępu (ACE) w ramach listy ACL według jej indeksu.
Istnieją dwa typy list ACL:
Uznaniowe
System
Uznaniowa lista ACL jest kontrolowana przez właściciela obiektu lub każdego, kto udzielił WRITE_DAC dostępu do obiektu. Określa dostęp do określonych użytkowników i grup może mieć obiekt. Na przykład właściciel pliku może użyć uznaniowej listy ACL, aby kontrolować, którzy użytkownicy i grupy mogą i nie mogą mieć dostępu do pliku.
Obiekt może również mieć skojarzone z nim informacje o zabezpieczeniach na poziomie systemu w postaci listy ACL systemu kontrolowanej przez administratora systemu. Lista ACL systemu umożliwia administratorowi systemu inspekcję wszelkich prób uzyskania dostępu do obiektu.
Aby uzyskać więcej informacji, zobacz dyskusję na temat listy ACL w zestawie Windows SDK.
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
CAcl::CAccessMaskArray
Tablica obiektów ACCESS_MASK.
typedef CAtlArray<ACCESS_MASK> CAccessMaskArray;
Uwagi
Ta definicja typu określa typ tablicy, który może służyć do przechowywania praw dostępu używanych w wpisach kontroli dostępu (ACE).
CAcl::CAceFlagArray
Tablica jednostek BYTEs.
typedef CAtlArray<BYTE> CAceFlagArray;
Uwagi
Ten typdef określa typ tablicy używany do definiowania flag kontroli dostępu (ACE) specyficznych dla typu. Zobacz definicję ACE_HEADER , aby uzyskać pełną listę możliwych flag.
CAcl::CAceTypeArray
Tablica jednostek BYTEs.
typedef CAtlArray<BYTE> CAceTypeArray;
Uwagi
Ta definicja typu określa typ tablicy używany do definiowania charakteru obiektów wprowadzania kontroli dostępu (ACE), takich jak ACCESS_ALLOWED_ACE_TYPE lub ACCESS_DENIED_ACE_TYPE. Zobacz definicję ACE_HEADER , aby uzyskać pełną listę możliwych typów.
CAcl::CAcl
Konstruktor.
CAcl() throw();
CAcl(const CAcl& rhs) throw(...);
Parametry
Rhs
Istniejący CAcl
obiekt.
Uwagi
Obiekt CAcl
można opcjonalnie utworzyć przy użyciu istniejącego CAcl
obiektu.
CAcl::~CAcl
Destruktora.
virtual ~CAcl() throw();
Uwagi
Destruktor zwalnia wszelkie zasoby uzyskane przez obiekt.
CAcl::GetAceCount
Zwraca liczbę obiektów wejścia kontroli dostępu (ACE).
virtual UINT GetAceCount() const throw() = 0;
Wartość zwracana
Zwraca liczbę wpisów ACE w CAcl
obiekcie.
CAcl::GetAclEntries
Pobiera wpisy listy kontroli dostępu (ACL) z CAcl
obiektu.
void GetAclEntries(
CSid::CSidArray* pSids,
CAccessMaskArray* pAccessMasks = NULL,
CAceTypeArray* pAceTypes = NULL,
CAceFlagArray* pAceFlags = NULL) const throw(...);
Parametry
identyfikatory pSid
Wskaźnik do tablicy obiektów CSid .
Maski funkcji pAccess
Maski dostępu.
pAceTypes
Typy wprowadzania kontroli dostępu (ACE).
pAceFlags
Flagi ACE.
Uwagi
Ta metoda wypełnia parametry tablicy szczegółami każdego obiektu ACE zawartego CAcl
w obiekcie. Użyj wartości NULL, jeśli szczegóły tej konkretnej tablicy nie są wymagane.
Zawartość każdej tablicy odpowiada sobie nawzajem, czyli pierwszy element tablicy odpowiada pierwszemu elementowi CAccessMaskArray
CSidArray
w tablicy itd.
Aby uzyskać więcej informacji na temat typów i flag ACE, zobacz ACE_HEADER .
CAcl::GetAclEntry
Pobiera wszystkie informacje o wpisie na liście kontroli dostępu (ACL).
void GetAclEntry(
UINT nIndex,
CSid* pSid,
ACCESS_MASK* pMask = NULL,
BYTE* pType = NULL,
BYTE* pFlags = NULL,
GUID* pObjectType = NULL,
GUID* pInheritedObjectType = NULL) const throw(...);
Parametry
nIndex
Zaindeksuj do wpisu listy ACL w celu pobrania.
pSid
Obiekt CSid , do którego ma zastosowanie wpis listy ACL.
Maska p
Maska określająca uprawnienia do udzielania lub odmowy dostępu.
typ pType
Typ ACE.
Opóźnienia pFlags
Flagi ACE.
pObjectType
Typ obiektu. Zostanie ona ustawiona na GUID_NULL, jeśli typ obiektu nie zostanie określony w ACE lub jeśli ACE nie jest ACE.
pInheritedObjectType
Dziedziczony typ obiektu. Zostanie on ustawiony na GUID_NULL, jeśli dziedziczony typ obiektu nie jest określony w ACE lub jeśli ACE nie jest ACE obiektu.
Uwagi
Ta metoda pobierze wszystkie informacje dotyczące pojedynczej ACE, udostępniając więcej informacji niż tylko CAcl::GetAclEntries .
Aby uzyskać więcej informacji na temat typów i flag ACE, zobacz ACE_HEADER .
CAcl::GetLength
Zwraca długość listy kontroli dostępu (ACL).
UINT GetLength() const throw();
Wartość zwracana
Zwraca wymaganą długość w bajtach niezbędnych do przechowywania ACL
struktury.
CAcl::GetPACL
Zwraca wskaźnik do listy kontroli dostępu (ACL).
const ACL* GetPACL() const throw(...);
Wartość zwracana
Zwraca wskaźnik do ACL
struktury.
CAcl::IsEmpty
Testuje obiekt pod kątem CAcl
wpisów.
bool IsEmpty() const throw();
Uwagi
Zwraca wartość TRUE, jeśli CAcl
obiekt nie ma wartości NULL i nie zawiera żadnych wpisów. Zwraca wartość FALSE, jeśli CAcl
obiekt ma wartość NULL lub zawiera co najmniej jeden wpis.
CAcl::IsNull
Zwraca stan CAcl
obiektu.
bool IsNull() const throw();
Wartość zwracana
Zwraca wartość TRUE, jeśli CAcl
obiekt ma wartość NULL, w przeciwnym razie wartość FALSE.
CAcl::operator const ACL *
Rzutuje CAcl
obiekt na ACL
strukturę (lista kontroli dostępu).
operator const ACL *() const throw(...);
Uwagi
Zwraca adres ACL
struktury.
CAcl::operator =
Operator przypisania.
CAcl& operator= (const CAcl& rhs) throw(...);
Parametry
Rhs
Element CAcl
do przypisania do istniejącego obiektu.
Wartość zwracana
Zwraca odwołanie do zaktualizowanego CAcl
obiektu.
CAcl::RemoveAce
Usuwa z obiektu określony wpis CAcl
kontroli dostępu (ACE).
void RemoveAce(UINT nIndex) throw();
Parametry
nIndex
Zaindeksuj do wpisu ACE, aby usunąć.
Uwagi
Ta metoda pochodzi z CAtlArray::RemoveAt.
CAcl::RemoveAces
Usuwa wszystkie pozycje ACE (wpisy kontroli dostępu) z CAcl
elementu, które mają zastosowanie do danego CSid
elementu .
bool RemoveAces(const CSid& rSid) throw(...)
Parametry
rSid
Odwołanie do CSid
obiektu.
CAcl::SetEmpty
CAcl
Oznacza obiekt jako pusty.
void SetEmpty() throw();
Uwagi
CAcl
Można ustawić wartość pustą lub wartość NULL: dwa stany są odrębne.
CAcl::SetNull
CAcl
Oznacza obiekt jako NULL.
void SetNull() throw();
Uwagi
CAcl
Można ustawić wartość pustą lub wartość NULL: dwa stany są odrębne.