Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Deze klasse is een wrapper voor een ACL structuur (toegangsbeheerlijst).
Belangrijk
Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
Syntaxis
class CAcl
Leden
Openbare typedefs
| Naam | Description |
|---|---|
| CAcl::CAccessMaskArray | Een matrix van ACCESS_MASKs. |
| CAcl::CAceFlagArray | Een matrix van BYTE's. |
| CAcl::CAceTypeArray | Een matrix van BYTE's. |
Openbare constructors
| Naam | Description |
|---|---|
| CAcl::CAcl | De constructor. |
| CAcl::~CAcl | De destructor. |
Openbare methoden
| Naam | Description |
|---|---|
| CAcl::GetAceCount | Retourneert het aantal ACE-objecten (Access Control Entry). |
| CAcl::GetAclEntries | Haalt de ACL-vermeldingen (Access Control List) op uit het CAcl object. |
| CAcl::GetAclEntry | Hiermee haalt u alle informatie over een vermelding in een CAcl object op. |
| CAcl::GetLength | Retourneert de lengte van de ACL. |
| CAcl::GetPACL | Hiermee wordt een PACL (aanwijzer naar een ACL) geretourneerd. |
| CAcl::Isempty | Test het CAcl object op vermeldingen. |
| CAcl::IsNull | Retourneert de status van het CAcl object. |
| CAcl::RemoveAce | Hiermee verwijdert u een specifieke ACE (toegangsbeheervermelding) uit het CAcl object. |
| CAcl::RemoveAces | Hiermee verwijdert u alle ACL's (toegangsbeheervermeldingen) uit de CAcl vermeldingen die van toepassing zijn op de opgegeven CSid. |
| CAcl::SetEmpty | Hiermee wordt het CAcl object als leeg gemarkeerd. |
| CAcl::SetNull | Hiermee wordt het CAcl object gemarkeerd als NULL. |
Openbare operators
| Naam | Description |
|---|---|
| CAcl::operator const ACL * | Cast een CAcl object naar een ACL structuur. |
| CAcl::operator = | Toewijzingsoperator. |
Opmerkingen
De ACL structuur is de koptekst van een ACL (toegangsbeheerlijst). Een ACL bevat een opeenvolgende lijst met nul of meer ACL's (vermeldingen voor toegangsbeheer). De afzonderlijke ACL's in een ACL worden genummerd van 0 tot n-1, waarbij n het aantal ACL's is. Bij het bewerken van een ACL verwijst een toepassing door de index naar een toegangsbeheervermelding (ACE) binnen de ACL.
Er zijn twee ACL-typen:
Discretionaire
Systeem
Een discretionaire ACL wordt beheerd door de eigenaar van een object of iemand die WRITE_DAC toegang tot het object heeft verleend. Hiermee geeft u de toegang op die bepaalde gebruikers en groepen tot een object kunnen hebben. De eigenaar van een bestand kan bijvoorbeeld een discretionaire ACL gebruiken om te bepalen welke gebruikers en groepen toegang hebben tot het bestand.
Aan een object kan ook beveiligingsinformatie op systeemniveau zijn gekoppeld, in de vorm van een systeem-ACL die wordt beheerd door een systeembeheerder. Een systeem-ACL kan de systeembeheerder toestaan om pogingen om toegang te krijgen tot een object te controleren.
Zie de ACL-discussie in de Windows SDK voor meer informatie.
Zie Access Control in de Windows SDK voor een inleiding tot het toegangsbeheermodel in Windows.
Requirements
Koptekst: atlsecurity.h
CAcl::CAccessMaskArray
Een matrix van ACCESS_MASK objecten.
typedef CAtlArray<ACCESS_MASK> CAccessMaskArray;
Opmerkingen
Dit typedef geeft het matrixtype op dat kan worden gebruikt voor het opslaan van toegangsrechten die worden gebruikt in toegangsbeheervermeldingen (ACL's).
CAcl::CAceFlagArray
Een matrix van BYTE's.
typedef CAtlArray<BYTE> CAceFlagArray;
Opmerkingen
Met dit typedef geeft u het matrixtype op dat wordt gebruikt voor het definiëren van de typespecifieke typevlagmen voor toegangsbeheer (ACE). Zie de ACE_HEADER definitie voor de volledige lijst met mogelijke vlaggen.
CAcl::CAceTypeArray
Een matrix van BYTE's.
typedef CAtlArray<BYTE> CAceTypeArray;
Opmerkingen
Met dit typedef geeft u het matrixtype op dat wordt gebruikt om de aard van de ACE-objecten (Access Control Entry) te definiëren, zoals ACCESS_ALLOWED_ACE_TYPE of ACCESS_DENIED_ACE_TYPE. Zie de ACE_HEADER definitie voor de volledige lijst met mogelijke typen.
CAcl::CAcl
De constructor.
CAcl() throw();
CAcl(const CAcl& rhs) throw(...);
Parameterwaarden
Rhs
Een bestaand CAcl object.
Opmerkingen
Het CAcl object kan eventueel worden gemaakt met behulp van een bestaand CAcl object.
CAcl::~CAcl
De destructor.
virtual ~CAcl() throw();
Opmerkingen
Met de destructor worden alle resources die door het object zijn verkregen, vrijgemaakt.
CAcl::GetAceCount
Retourneert het aantal ACE-objecten (Access Control Entry).
virtual UINT GetAceCount() const throw() = 0;
Retourwaarde
Retourneert het aantal ACE-vermeldingen in het CAcl object.
CAcl::GetAclEntries
Haalt de ACL-vermeldingen (Access Control List) op uit het CAcl object.
void GetAclEntries(
CSid::CSidArray* pSids,
CAccessMaskArray* pAccessMasks = NULL,
CAceTypeArray* pAceTypes = NULL,
CAceFlagArray* pAceFlags = NULL) const throw(...);
Parameterwaarden
pSids
Een aanwijzer naar een matrix van CSid-objecten .
pAccessMasks
De toegangsmaskers.
pAceTypes
De ace-typen (access-control entry).
pAceFlags
De ACE-vlaggen.
Opmerkingen
Met deze methode worden de matrixparameters gevuld met de details van elk ACE-object in het CAcl object. Gebruik NULL wanneer de details voor die specifieke matrix niet vereist zijn.
De inhoud van elke matrix komt overeen met elkaar, dat wil gezegd, het eerste element van de CAccessMaskArray matrix komt overeen met het eerste element in de CSidArray matrix, enzovoort.
Zie ACE_HEADER voor meer informatie over ACE-typen en -vlaggen.
CAcl::GetAclEntry
Hiermee haalt u alle informatie over een vermelding in een toegangsbeheerlijst (ACL) op.
void GetAclEntry(
UINT nIndex,
CSid* pSid,
ACCESS_MASK* pMask = NULL,
BYTE* pType = NULL,
BYTE* pFlags = NULL,
GUID* pObjectType = NULL,
GUID* pInheritedObjectType = NULL) const throw(...);
Parameterwaarden
nIndex
Indexeren naar de ACL-vermelding die moet worden opgehaald.
pSid
Het CSid-object waarop de ACL-vermelding van toepassing is.
pMask
Het masker dat machtigingen opgeeft om toegang te verlenen of te weigeren.
pType
Het ACE-type.
pFlags
De ACE-vlaggen.
pObjectType
Het objecttype. Dit wordt ingesteld op GUID_NULL als het objecttype niet is opgegeven in de ACE of als de ACE geen OBJECT-ACE is.
pInheritedObjectType
Het overgenomen objecttype. Dit wordt ingesteld op GUID_NULL als het overgenomen objecttype niet is opgegeven in de ACE of als de ACE geen OBJECT-ACE is.
Opmerkingen
Met deze methode wordt alle informatie over een afzonderlijke ACE opgehaald, wat meer informatie biedt dan CAcl::GetAclEntries alleen beschikbaar maakt.
Zie ACE_HEADER voor meer informatie over ACE-typen en -vlaggen.
CAcl::GetLength
Retourneert de lengte van de toegangsbeheerlijst (ACL).
UINT GetLength() const throw();
Retourwaarde
Retourneert de vereiste lengte in bytes die nodig zijn om de ACL structuur te bewaren.
CAcl::GetPACL
Hiermee wordt een aanwijzer geretourneerd naar een toegangsbeheerlijst (ACL).
const ACL* GetPACL() const throw(...);
Retourwaarde
Retourneert een aanwijzer naar de ACL structuur.
CAcl::Isempty
Test het CAcl object op vermeldingen.
bool IsEmpty() const throw();
Opmerkingen
Retourneert TRUE als het CAcl object niet NULL is en geen vermeldingen bevat. Retourneert ONWAAR als het CAcl object NULL is of ten minste één vermelding bevat.
CAcl::IsNull
Retourneert de status van het CAcl object.
bool IsNull() const throw();
Retourwaarde
Retourneert TRUE als het CAcl object NULL is, anders ONWAAR.
CAcl::operator const ACL *
Hiermee wordt een CAcl object omgezet in een ACL structuur (toegangsbeheerlijst).
operator const ACL *() const throw(...);
Opmerkingen
Retourneert het adres van de ACL structuur.
CAcl::operator =
Toewijzingsoperator.
CAcl& operator= (const CAcl& rhs) throw(...);
Parameterwaarden
Rhs
De CAcl toe te wijzen aan het bestaande object.
Retourwaarde
Retourneert een verwijzing naar het bijgewerkte CAcl object.
CAcl::RemoveAce
Hiermee verwijdert u een specifieke ACE (toegangsbeheervermelding) uit het CAcl object.
void RemoveAce(UINT nIndex) throw();
Parameterwaarden
nIndex
Indexeren naar de ACE-vermelding die u wilt verwijderen.
Opmerkingen
Deze methode is afgeleid van CAtlArray::RemoveAt.
CAcl::RemoveAces
Hiermee verwijdert u alle ACL's (toegangsbeheervermeldingen) uit de CAcl vermeldingen die van toepassing zijn op de opgegeven CSid.
bool RemoveAces(const CSid& rSid) throw(...)
Parameterwaarden
rSid
Een verwijzing naar een CSid object.
CAcl::SetEmpty
Hiermee wordt het CAcl object als leeg gemarkeerd.
void SetEmpty() throw();
Opmerkingen
De CAcl waarde kan worden ingesteld op leeg of op NULL: de twee statussen zijn verschillend.
CAcl::SetNull
Hiermee wordt het CAcl object gemarkeerd als NULL.
void SetNull() throw();
Opmerkingen
De CAcl waarde kan worden ingesteld op leeg of op NULL: de twee statussen zijn verschillend.