Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de 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 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