Delen via


CSecurityDesc-klasse

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 de SECURITY_DESCRIPTOR structuur.

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

class CSecurityDesc

Leden

Openbare constructors

Naam Description
CSecurityDesc::CSecurityDesc De constructor.
CSecurityDesc::~CSecurityDesc De destructor.

Openbare methoden

Naam Description
CSecurityDesc::FromString Converteert een beveiligingsdescriptor met tekenreeksindeling naar een geldige, functionele beveiligingsdescriptor.
CSecurityDesc::GetControl Hiermee haalt u controlegegevens op uit de beveiligingsdescriptor.
CSecurityDesc::GetDacl Hiermee worden discretionaire DACL-gegevens (Access Control List) opgehaald uit de security descriptor.
CSecurityDesc::GetGroup Haalt de informatie van de primaire groep op uit de beveiligingsdescriptor.
CSecurityDesc::GetOwner Haalt de informaton van de eigenaar op uit de beveiligingsdescriptor.
CSecurityDesc::GetPSECURITY_DESCRIPTOR Retourneert een aanwijzer naar de SECURITY_DESCRIPTOR structuur.
CSecurityDesc::GetSacl Haalt systeemtoegangsbeheerlijstgegevens (SACL) op uit de beveiligingsdescriptor.
CSecurityDesc::IsDaclAutoInherited Bepaalt of de DACL is geconfigureerd ter ondersteuning van automatische doorgifte.
CSecurityDesc::IsDaclDefaulted Bepaalt of de beveiligingsdescriptor is geconfigureerd met een standaard-DACL.
CSecurityDesc::IsDaclPresent Bepaalt of de beveiligingsdescriptor een DACL bevat.
CSecurityDesc::IsDaclProtected Bepaalt of de DACL is geconfigureerd om wijzigingen te voorkomen.
CSecurityDesc::IsGroupDefaulted Bepaalt of de beveiligingsdescriptor de beveiligingsbeveiligings-id (SID) standaard is ingesteld.
CSecurityDesc::IsOwnerDefaulted Bepaalt of de SID van de eigenaar van de beveiligingsdescriptor standaard is ingesteld.
CSecurityDesc::IsSaclAutoInherited Bepaalt of sacl is geconfigureerd ter ondersteuning van automatische doorgifte.
CSecurityDesc::IsSaclDefaulted Bepaalt of de beveiligingsdescriptor is geconfigureerd met een standaard SACL.
CSecurityDesc::IsSaclPresent Bepaalt of de beveiligingsdescriptor een SACL bevat.
CSecurityDesc::IsSaclProtected Bepaalt of sacl is geconfigureerd om wijzigingen te voorkomen.
CSecurityDesc::IsSelfRelative Bepaalt of de beveiligingsdescriptor een zelf-relatieve indeling heeft.
CSecurityDesc::MakeAbsolute Roep deze methode aan om de beveiligingsdescriptor te converteren naar een absolute indeling.
CSecurityDesc::MakeSelfRelative Roep deze methode aan om de beveiligingsdescriptor te converteren naar een zelf-relatieve indeling.
CSecurityDesc::SetControl Hiermee stelt u de besturings bits van een beveiligingsdescriptor in.
CSecurityDesc::SetDacl Hiermee stelt u informatie in een DACL in. Als er al een DACL aanwezig is in de beveiligingsdescriptor, wordt deze vervangen.
CSecurityDesc::SetGroup Hiermee stelt u de informatie van de primaire groep van een absolute indelingsbeveiligingsdescriptor in, waarbij alle informatie van de primaire groep die al aanwezig is, wordt vervangen.
CSecurityDesc::SetOwner Hiermee stelt u de eigenaargegevens van een absolute indelingsbeveiligingsdescriptor in, waarbij alle aanwezige eigenaargegevens worden vervangen.
CSecurityDesc::SetSacl Hiermee stelt u informatie in een SACL in. Als een SACL al aanwezig is in de beveiligingsdescriptor, wordt deze vervangen.
CSecurityDesc::ToString Converteert een beveiligingsdescriptor naar een tekenreeksindeling.

Openbare operators

Naam Description
CSecurityDesc::operator const SECURITY_DESCRIPTOR * Retourneert een aanwijzer naar de SECURITY_DESCRIPTOR structuur.
CSecurityDesc::operator = Toewijzingsoperator.

Opmerkingen

De SECURITY_DESCRIPTOR structuur bevat de beveiligingsgegevens die aan een object zijn gekoppeld. Toepassingen gebruiken deze structuur om de beveiligingsstatus van een object in te stellen en op te vragen. Zie ook AtlGetSecurityDescriptor.

Toepassingen mogen de SECURITY_DESCRIPTOR structuur niet rechtstreeks wijzigen en moeten in plaats daarvan de geleverde klassemethoden gebruiken.

Zie Access Control in de Windows SDK voor een inleiding tot het toegangsbeheermodel in Windows.

Requirements

Koptekst: atlsecurity.h

CSecurityDesc::CSecurityDesc

De constructor.

CSecurityDesc() throw();
CSecurityDesc(const CSecurityDesc& rhs) throw(... );
CSecurityDesc(const SECURITY_DESCRIPTOR& rhs) throw(...);

Parameterwaarden

Rhs
Het CSecurityDesc object of SECURITY_DESCRIPTOR de structuur die moet worden toegewezen aan het nieuwe CSecurityDesc object.

Opmerkingen

Het CSecurityDesc object kan eventueel worden gemaakt met behulp van een SECURITY_DESCRIPTOR structuur of een eerder gedefinieerd CSecurityDesc object.

CSecurityDesc::~CSecurityDesc

De destructor.

virtual ~CSecurityDesc() throw();

Opmerkingen

Met de destructor worden alle toegewezen resources vrijgemaakt.

CSecurityDesc::FromString

Converteert een beveiligingsdescriptor met tekenreeksindeling naar een geldige, functionele beveiligingsdescriptor.

bool FromString(LPCTSTR pstr) throw(...);

Parameterwaarden

pstr
Wijs een door null beëindigde tekenreeks aan die de security descriptor voor de tekenreeksindeling bevat die moet worden geconverteerd.

Retourwaarde

Retourneert waar bij succes. Genereert een uitzondering bij een fout.

Opmerkingen

De tekenreeks kan worden gemaakt met CSecurityDesc::ToString. Als u de beveiligingsdescriptor converteert naar een tekenreeks, kunt u deze eenvoudiger opslaan en verzenden.

Met deze methode wordt de ConvertStringSecurityDescriptorToSecurityDescriptor aangeroepen.

CSecurityDesc::GetControl

Hiermee haalt u controlegegevens op uit de beveiligingsdescriptor.

bool GetControl(SECURITY_DESCRIPTOR_CONTROL* psdc) const throw();

Parameterwaarden

psdc
Wijs een SECURITY_DESCRIPTOR_CONTROL structuur aan die de controlegegevens van de beveiligingsdescriptor ontvangt.

Retourwaarde

Retourneert true als de methode slaagt, onwaar als deze mislukt.

Opmerkingen

Met deze methode wordt GetSecurityDescriptorControl aangeroepen.

CSecurityDesc::GetDacl

Hiermee worden discretionaire DACL-gegevens (Access Control List) opgehaald uit de security descriptor.

bool GetDacl(
    CDacl* pDacl,
    bool* pbPresent = NULL,
    bool* pbDefaulted = NULL) const throw(...);

Parameterwaarden

pDacl
Wijs een CDacl structuur aan waarin een kopie van de DACL van de beveiligingsdescriptor moet worden opgeslagen. Als er een discretionaire ACL bestaat, stelt de methode pDacl in op het adres van de discretionaire ACL van de beveiligingsdescriptor. Als er geen discretionaire ACL bestaat, wordt er geen waarde opgeslagen.

pbPresent
Wijs een waarde aan die de aanwezigheid aangeeft van een discretionaire ACL in de opgegeven beveiligingsdescriptor. Als de beveiligingsdescriptor een discretionaire ACL bevat, wordt deze parameter ingesteld op true. Als de beveiligingsdescriptor geen discretionaire ACL bevat, wordt deze parameter ingesteld op false.

pbDefaulted
Wijs een vlag aan die is ingesteld op de waarde van de vlag SE_DACL_DEFAULTED in de SECURITY_DESCRIPTOR_CONTROL structuur als er een discretionaire ACL bestaat voor de beveiligingsdescriptor. Als deze vlag waar is, is de discretionaire ACL opgehaald door een standaardmechanisme; indien onwaar, is de discretionaire ACL expliciet opgegeven door een gebruiker.

Retourwaarde

Retourneert true als de methode slaagt, onwaar als deze mislukt.

CSecurityDesc::GetGroup

Haalt de informatie van de primaire groep op uit de beveiligingsdescriptor.

bool GetGroup(
    CSid* pSid,
    bool* pbDefaulted = NULL) const throw(...);

Parameterwaarden

pSid
Wijs een CSid (beveiligings-id) aan die een kopie ontvangt van de groep die is opgeslagen in de CDacl.

pbDefaulted
Wijs een vlag aan die is ingesteld op de waarde van de SE_GROUP_DEFAULTED vlag in de SECURITY_DESCRIPTOR_CONTROL structuur wanneer de methode wordt geretourneerd.

Retourwaarde

Retourneert true als de methode slaagt, onwaar als deze mislukt.

CSecurityDesc::GetOwner

Haalt de informaton van de eigenaar op uit de beveiligingsdescriptor.

bool GetOwner(
    CSid* pSid,
    bool* pbDefaulted = NULL) const throw(...);

Parameterwaarden

pSid
Wijs een CSid (beveiligings-id) aan die een kopie ontvangt van de groep die is opgeslagen in de CDacl.

pbDefaulted
Wijs een vlag aan die is ingesteld op de waarde van de vlag SE_OWNER_DEFAULTED in de SECURITY_DESCRIPTOR_CONTROL structuur wanneer de methode wordt geretourneerd.

Retourwaarde

Retourneert true als de methode slaagt, onwaar als deze mislukt.

CSecurityDesc::GetPSECURITY_DESCRIPTOR

Retourneert een aanwijzer naar de SECURITY_DESCRIPTOR structuur.

const SECURITY_DESCRIPTOR* GetPSECURITY_DESCRIPTOR() const throw();

Retourwaarde

Retourneert een aanwijzer naar de SECURITY_DESCRIPTOR structuur.

CSecurityDesc::GetSacl

Haalt systeemtoegangsbeheerlijstgegevens (SACL) op uit de beveiligingsdescriptor.

bool GetSacl(
    CSacl* pSacl,
    bool* pbPresent = NULL,
    bool* pbDefaulted = NULL) const throw(...);

Parameterwaarden

pSacl
Wijs een CSacl structuur aan waarin een kopie van de SACL van de beveiligingsdescriptor moet worden opgeslagen. Als er een systeem-ACL bestaat, stelt de methode pSacl in op het adres van de systeem-ACL van de beveiligingsdescriptor. Als er geen systeem-ACL bestaat, wordt er geen waarde opgeslagen.

pbPresent
Wijs een vlag toe aan de methodesets om de aanwezigheid van een systeem-ACL in de opgegeven beveiligingsdescriptor aan te geven. Als de beveiligingsdescriptor een systeem-ACL bevat, wordt deze parameter ingesteld op true. Als de beveiligingsdescriptor geen systeem-ACL bevat, wordt deze parameter ingesteld op false.

pbDefaulted
Wijs een vlag aan die is ingesteld op de waarde van de vlag SE_SACL_DEFAULTED in de SECURITY_DESCRIPTOR_CONTROL structuur als er een systeem-ACL bestaat voor de beveiligingsdescriptor.

Retourwaarde

Retourneert true als de methode slaagt, onwaar als deze mislukt.

CSecurityDesc::IsDaclAutoInherited

Bepaalt of de discretionaire toegangsbeheerlijst (DACL) is geconfigureerd ter ondersteuning van automatische doorgifte.

bool IsDaclAutoInherited() const throw();

Retourwaarde

Retourneert waar als de beveiligingsdescriptor een DACL bevat die is ingesteld ter ondersteuning van automatische doorgifte van overgenomen toegangsbeheervermeldingen (ACL's) naar bestaande onderliggende objecten. Retourneert anders false.

Opmerkingen

Het systeem stelt deze bit in wanneer het automatische overname-algoritme voor het object en de bestaande onderliggende objecten wordt uitgevoerd.

CSecurityDesc::IsDaclDefaulted

Bepaalt of de beveiligingsdescriptor is geconfigureerd met een standaard discretionaire toegangsbeheerlijst (DACL).

bool IsDaclDefaulted() const throw();

Retourwaarde

Retourneert waar als de beveiligingsdescriptor een standaard-DACL bevat, anders onwaar.

Opmerkingen

Deze vlag kan van invloed zijn op de wijze waarop het systeem de DACL behandelt, met betrekking tot de overname van toegangsbeheervermeldingen (ACE). Als de maker van een object bijvoorbeeld geen DACL opgeeft, ontvangt het object de standaard-DACL van het toegangstoken van de maker. Het systeem negeert deze vlag als de SE_DACL_PRESENT vlag niet is ingesteld.

Deze vlag wordt gebruikt om te bepalen hoe de uiteindelijke DACL op het object moet worden berekend en niet fysiek wordt opgeslagen in het beveiligingsdescriptorbeheer van het beveiligbare object.

Als u deze vlag wilt instellen, gebruikt u de methode CSecurityDesc::SetDacl .

CSecurityDesc::IsDaclPresent

Bepaalt of de beveiligingsdescriptor een discretionaire toegangsbeheerlijst (DACL) bevat.

bool IsDaclPresent() const throw();

Retourwaarde

Retourneert waar als de beveiligingsdescriptor een DACL bevat, anders onwaar.

Opmerkingen

Als deze vlag niet is ingesteld of als deze vlag is ingesteld en de DACL NULL is, heeft de beveiligingsdescriptor volledige toegang tot iedereen.

Deze vlag wordt gebruikt voor het opslaan van de beveiligingsgegevens die zijn opgegeven door een aanroeper totdat de beveiligingsdescriptor is gekoppeld aan een beveiligbaar object. Zodra de beveiligingsdescriptor is gekoppeld aan een beveiligbaar object, wordt de vlag SE_DACL_PRESENT altijd ingesteld in het besturingselement van de beveiligingsdescriptor.

Als u deze vlag wilt instellen, gebruikt u de methode CSecurityDesc::SetDacl .

CSecurityDesc::IsDaclProtected

Bepaalt of de discretionaire toegangsbeheerlijst (DACL) is geconfigureerd om wijzigingen te voorkomen.

bool IsDaclProtected() const throw();

Retourwaarde

Retourneert waar als de DACL is geconfigureerd om te voorkomen dat de beveiligingsdescriptor wordt gewijzigd door overgenomen toegangsbeheervermeldingen (ACL's). Retourneert anders false.

Opmerkingen

Als u deze vlag wilt instellen, gebruikt u de methode CSecurityDesc::SetDacl .

Deze methode ondersteunt het automatisch doorgeven van overgenomen ACL's.

CSecurityDesc::IsGroupDefaulted

Bepaalt of de beveiligingsdescriptor de beveiligingsbeveiligings-id (SID) standaard is ingesteld.

bool IsGroupDefaulted() const throw();

Retourwaarde

Retourneert waar als een standaardmechanisme, in plaats van de oorspronkelijke provider van de beveiligingsdescriptor, de groeps-SID van de beveiligingsdescriptor heeft opgegeven. Retourneert anders false.

Opmerkingen

Als u deze vlag wilt instellen, gebruikt u de methode CSecurityDesc::SetGroup .

CSecurityDesc::IsOwnerDefaulted

Bepaalt of de beveiligingsdescriptor de beveiligings-id (SID) standaard is ingesteld.

bool IsOwnerDefaulted() const throw();

Retourwaarde

Retourneert waar als een standaardmechanisme, in plaats van de oorspronkelijke provider van de beveiligingsdescriptor, de eigenaar-SID van de beveiligingsdescriptor heeft opgegeven. Retourneert anders false.

Opmerkingen

Als u deze vlag wilt instellen, gebruikt u de methode CSecurityDesc::SetOwner .

CSecurityDesc::IsSaclAutoInherited

Bepaalt of de systeemtoegangsbeheerlijst (SACL) is geconfigureerd ter ondersteuning van automatische doorgifte.

bool IsSaclAutoInherited() const throw();

Retourwaarde

Retourneert waar als de beveiligingsdescriptor een SACL bevat die is ingesteld ter ondersteuning van automatische doorgifte van overgenomen toegangsbeheervermeldingen (ACL's) naar bestaande onderliggende objecten. Retourneert anders false.

Opmerkingen

Het systeem stelt deze bit in wanneer het automatische overname-algoritme voor het object en de bestaande onderliggende objecten wordt uitgevoerd.

CSecurityDesc::IsSaclDefaulted

Bepaalt of de beveiligingsdescriptor is geconfigureerd met een standaardsysteemtoegangsbeheerlijst (SACL).

bool IsSaclDefaulted() const throw();

Retourwaarde

Retourneert waar als de beveiligingsdescriptor een standaard SACL bevat, anders onwaar.

Opmerkingen

Deze vlag kan van invloed zijn op de wijze waarop het systeem de SACL behandelt, met betrekking tot de overname van toegangsbeheerinvoer (ACE). Het systeem negeert deze vlag als de vlag SE_SACL_PRESENT niet is ingesteld.

Als u deze vlag wilt instellen, gebruikt u de methode CSecurityDesc::SetSacl .

CSecurityDesc::IsSaclPresent

Bepaalt of de beveiligingsdescriptor een systeemtoegangsbeheerlijst (SACL) bevat.

bool IsSaclPresent() const throw();

Retourwaarde

Retourneert waar als de beveiligingsdescriptor een SACL bevat, anders onwaar.

Opmerkingen

Als u deze vlag wilt instellen, gebruikt u de methode CSecurityDesc::SetSacl .

CSecurityDesc::IsSaclProtected

Bepaalt of de systeemtoegangsbeheerlijst (SACL) is geconfigureerd om wijzigingen te voorkomen.

bool IsSaclProtected() const throw();

Retourwaarde

Retourneert waar als sacl is geconfigureerd om te voorkomen dat de beveiligingsdescriptor wordt gewijzigd door overnamebare toegangsbeheervermeldingen (ACL's). Retourneert anders false.

Opmerkingen

Als u deze vlag wilt instellen, gebruikt u de methode CSecurityDesc::SetSacl .

Deze methode ondersteunt het automatisch doorgeven van overgenomen ACL's.

CSecurityDesc::IsSelfRelative

Bepaalt of de beveiligingsdescriptor een zelf-relatieve indeling heeft.

bool IsSelfRelative() const throw();

Retourwaarde

Retourneert waar als de beveiligingsdescriptor een zelf-relatieve indeling heeft met alle beveiligingsgegevens in een aaneengesloten blok geheugen. Retourneert onwaar als de beveiligingsdescriptor een absolute indeling heeft. Zie Absolute en Self-Relative Security Descriptors voor meer informatie.

CSecurityDesc::MakeAbsolute

Roep deze methode aan om de beveiligingsdescriptor te converteren naar een absolute indeling.

bool MakeAbsolute() throw(...);

Retourwaarde

Retourneert waar als de methode slaagt, anders onwaar.

Opmerkingen

Een beveiligingsdescriptor in absolute notatie bevat aanwijzers naar de informatie die deze bevat, in plaats van de informatie zelf. Een beveiligingsdescriptor in zelf-relatieve indeling bevat de informatie in een aaneengesloten blok geheugen. In een zelf-relatieve beveiligingsdescriptor start een SECURITY_DESCRIPTOR structuur altijd de informatie, maar de andere onderdelen van de beveiligingsdescriptor kunnen de structuur in elke volgorde volgen. In plaats van geheugenadressen te gebruiken, worden de onderdelen van de zelf-relatieve beveiligingsdescriptor geïdentificeerd door verschuivingen vanaf het begin van de beveiligingsdescriptor. Deze indeling is handig wanneer een beveiligingsdescriptor moet worden opgeslagen op een schijf of moet worden verzonden via een communicatieprotocol. Zie Absolute en Self-Relative Security Descriptors voor meer informatie.

CSecurityDesc::MakeSelfRelative

Roep deze methode aan om de beveiligingsdescriptor te converteren naar een zelf-relatieve indeling.

bool MakeSelfRelative() throw(...);

Retourwaarde

Retourneert waar als de methode slaagt, anders onwaar.

Opmerkingen

Een beveiligingsdescriptor in absolute notatie bevat aanwijzers naar de informatie die deze bevat, in plaats van de informatie zelf te bevatten. Een beveiligingsdescriptor in zelf-relatieve indeling bevat de informatie in een aaneengesloten blok geheugen. In een zelf-relatieve beveiligingsdescriptor start een SECURITY_DESCRIPTOR structuur altijd de informatie, maar de andere onderdelen van de beveiligingsdescriptor kunnen de structuur in elke volgorde volgen. In plaats van geheugenadressen te gebruiken, worden de onderdelen van de beveiligingsdescriptor geïdentificeerd door verschuivingen vanaf het begin van de beveiligingsdescriptor. Deze indeling is handig wanneer een beveiligingsdescriptor moet worden opgeslagen op een schijf of moet worden verzonden via een communicatieprotocol. Zie Absolute en Self-Relative Security Descriptors voor meer informatie.

CSecurityDesc::operator =

Toewijzingsoperator.

CSecurityDesc& operator= (const SECURITY_DESCRIPTOR& rhs) throw(...);
CSecurityDesc& operator= (const CSecurityDesc& rhs) throw(...);

Parameterwaarden

Rhs
De SECURITY_DESCRIPTOR structuur of CSecurityDesc het object dat aan het CSecurityDesc object moet worden toegewezen.

Retourwaarde

Retourneert het bijgewerkte CSecurityDesc object.

CSecurityDesc::operator const SECURITY_DESCRIPTOR *

Hiermee wordt een waarde omgezet in een aanwijzer naar de SECURITY_DESCRIPTOR structuur.

operator const SECURITY_DESCRIPTOR *() const throw();

CSecurityDesc::SetControl

Hiermee stelt u de besturings bits van een beveiligingsdescriptor in.

bool SetControl(
    SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest,
    SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet) throw();

Parameterwaarden

ControlBitsOfInterest
Een SECURITY_DESCRIPTOR_CONTROL masker dat aangeeft dat de besturings-bits moeten worden ingesteld. Zie SetSecurityDescriptorControl voor een lijst met de vlaggen die kunnen worden ingesteld.

ControlBitsToSet
Een SECURITY_DESCRIPTOR_CONTROL masker dat de nieuwe waarden aangeeft voor de besturingsbits die zijn opgegeven door het Masker ControlBitsOfInterest . Deze parameter kan een combinatie zijn van de vlaggen die worden vermeld voor de parameter ControlBitsOfInterest .

Retourwaarde

Retourneert waar bij succes, onwaar bij mislukt.

Opmerkingen

Met deze methode wordt SetSecurityDescriptorControl aangeroepen.

CSecurityDesc::SetDacl

Hiermee stelt u informatie in een discretionaire toegangsbeheerlijst (DACL) in. Als er al een DACL aanwezig is in de beveiligingsdescriptor, wordt deze vervangen.

inline void SetDacl(
    bool bPresent = true,
    bool bDefaulted = false) throw(...);

inline void SetDacl(
    const CDacl& Dacl,
    bool bDefaulted = false) throw(...);

Parameterwaarden

Dacl
Verwijzing naar een CDacl object dat de DACL opgeeft voor de beveiligingsdescriptor. Deze parameter mag niet NULL zijn. Als u een NULL DACL wilt instellen in de beveiligingsdescriptor, moet de eerste vorm van de methode worden gebruikt met bPresent ingesteld op false.

bPresent
Hiermee geeft u een vlag die de aanwezigheid van een DACL aangeeft in de beveiligingsdescriptor. Als deze parameter waar is, stelt de methode de vlag SE_DACL_PRESENT in de SECURITY_DESCRIPTOR_CONTROL structuur in en gebruikt de waarden in de Dacl - en bDefaulted-parameters . Als deze onwaar is, wordt de SE_DACL_PRESENT vlag gewist en wordt bDefaulted genegeerd.

bDefaulted
Hiermee geeft u een vlag die de bron van de DACL aangeeft. Als deze vlag waar is, is de DACL door een standaardmechanisme opgehaald. Als dit onwaar is, is de DACL expliciet opgegeven door een gebruiker. Met de methode wordt deze waarde opgeslagen in de SE_DACL_DEFAULTED vlag van de SECURITY_DESCRIPTOR_CONTROL structuur. Als deze parameter niet is opgegeven, wordt de vlag SE_DACL_DEFAULTED gewist.

Retourwaarde

Retourneert waar bij succes, onwaar bij mislukt.

Opmerkingen

Er is een belangrijk verschil tussen een lege en een niet-bestaande DACL. Wanneer een DACL leeg is, bevat deze geen vermeldingen voor toegangsbeheer en zijn er geen toegangsrechten expliciet verleend. Als gevolg hiervan wordt de toegang tot het object impliciet geweigerd. Wanneer een object geen DACL heeft, daarentegen, wordt er geen beveiliging aan het object toegewezen en wordt een toegangsaanvraag verleend.

CSecurityDesc::SetGroup

Hiermee stelt u de informatie van de primaire groep van een absolute indelingsbeveiligingsdescriptor in, waarbij alle informatie van de primaire groep die al aanwezig is, wordt vervangen.

bool SetGroup(const CSid& Sid, bool bDefaulted = false) throw(...);

Parameterwaarden

Sid
Verwijzing naar een CSid-object voor de nieuwe primaire groep van de beveiligingsdescriptor. Deze parameter mag niet NULL zijn. Een beveiligingsdescriptor kan worden gemarkeerd als geen DACL of EEN SACL, maar moet een groep en een eigenaar hebben, zelfs als dit de NULL-SID is (een ingebouwde SID met een speciale betekenis).

bDefaulted
Geeft aan of de informatie van de primaire groep is afgeleid van een standaardmechanisme. Als deze waarde waar is, is dit standaardinformatie en slaat de methode deze waarde op als de vlag SE_GROUP_DEFAULTED in de SECURITY_DESCRIPTOR_CONTROL structuur. Als deze parameter nul is, wordt de vlag SE_GROUP_DEFAULTED gewist.

Retourwaarde

Retourneert waar bij succes, onwaar bij mislukt.

CSecurityDesc::SetOwner

Hiermee stelt u de informatie van de eigenaar van een absolute indelingsbeveiligingsdescriptor in. Hiermee vervangt u alle informatie van de eigenaar die al aanwezig is.

bool SetOwner(const CSid& Sid, bool bDefaulted = false) throw(...);

Parameterwaarden

Sid
Het CSid-object voor de nieuwe primaire eigenaar van de beveiligingsdescriptor. Deze parameter mag niet NULL zijn.

bDefaulted
Geeft aan of de informatie van de eigenaar is afgeleid van een standaardmechanisme. Als deze waarde waar is, is dit standaardinformatie. Met de methode wordt deze waarde opgeslagen als de vlag SE_OWNER_DEFAULTED in de SECURITY_DESCRIPTOR_CONTROL structuur. Als deze parameter nul is, wordt de vlag SE_OWNER_DEFAULTED gewist.

Retourwaarde

Retourneert waar bij succes, onwaar bij mislukt.

CSecurityDesc::SetSacl

Hiermee stelt u informatie in een systeemtoegangsbeheerlijst (SACL) in. Als een SACL al aanwezig is in de beveiligingsdescriptor, wordt deze vervangen.

bool SetSacl(const CSacl& Sacl, bool bDefaulted = false) throw(...);

Parameterwaarden

Sacl
Wijs een CSacl object aan dat de SACL opgeeft voor de beveiligingsdescriptor. Deze parameter mag niet NULL zijn en moet een CSacl-object zijn. In tegenstelling tot DACL's is er geen verschil tussen NULL en een lege SACL, omdat SACL-objecten geen toegangsrechten opgeven, alleen controlegegevens.

bDefaulted
Hiermee geeft u een vlag die de bron van de SACL aangeeft. Als deze vlag waar is, is de SACL door een standaardmechanisme opgehaald. Indien onwaar, is sacl expliciet opgegeven door een gebruiker. Met de methode wordt deze waarde opgeslagen in de SE_SACL_DEFAULTED vlag van de SECURITY_DESCRIPTOR_CONTROL structuur. Als deze parameter niet is opgegeven, wordt de vlag SE_SACL_DEFAULTED gewist.

Retourwaarde

Retourneert waar bij succes, onwaar bij mislukt.

CSecurityDesc::ToString

Converteert een beveiligingsdescriptor naar een tekenreeksindeling.

bool ToString(
    CString* pstr, SECURITY_INFORMATION si = OWNER_SECURITY_INFORMATION |
    GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION |
    SACL_SECURITY_INFORMATION) const throw(...);

Parameterwaarden

pstr
Wijs een door null beëindigde tekenreeks aan die de security descriptor voor de tekenreeksindeling ontvangt.

Si
Hiermee geeft u een combinatie van SECURITY_INFORMATION bitvlaggen om de onderdelen van de beveiligingsdescriptor aan te geven die in de uitvoertekenreeks moeten worden opgenomen.

Retourwaarde

Retourneert waar bij succes, onwaar bij mislukt.

Opmerkingen

Zodra de beveiligingsdescriptor de tekenreeksindeling heeft, kan deze eenvoudiger worden opgeslagen of verzonden. Gebruik de CSecurityDesc::FromString methode om de tekenreeks weer te converteren naar een beveiligingsdescriptor.

De si-parameter kan de volgende SECURITY_INFORMATION vlaggen bevatten:

Waarde Meaning
OWNER_SECURITY_INFORMATION Neem de eigenaar op.
GROUP_SECURITY_INFORMATION Neem de primaire groep op.
DACL_SECURITY_INFORMATION Neem de DACL op.
SACL_SECURITY_INFORMATION Neem de SACL op.

Als de DACL NULL is en de SE_DACL_PRESENT besturingsbit is ingesteld in de beschrijving van de invoerbeveiliging, mislukt de methode.

Als de DACL NULL is en de SE_DACL_PRESENT besturingselementbit niet is ingesteld in de beschrijving van de invoerbeveiliging, heeft de resulterende beveiligingsdescriptortekenreeks geen D: component. Zie De tekenreeksindeling van de beveiligingsdescriptor voor meer informatie.

Met deze methode wordt de ConvertStringSecurityDescriptorToSecurityDescriptor aangeroepen.

Zie ook

Beveiligingsvoorbeeld
SECURITY_DESCRIPTOR
Overzicht van klassen
Globale beveiligingsfuncties