GetSecurityDescriptorDacl-Funktion (securitybaseapi.h)
Die GetSecurityDescriptorDacl-Funktion ruft einen Zeiger auf die diskretionäre Zugriffssteuerungsliste (DACL) in einem angegebenen Sicherheitsdeskriptor ab.
Syntax
BOOL GetSecurityDescriptorDacl(
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[out] LPBOOL lpbDaclPresent,
[out] PACL *pDacl,
[out] LPBOOL lpbDaclDefaulted
);
Parameter
[in] pSecurityDescriptor
Ein Zeiger auf die SECURITY_DESCRIPTOR-Struktur , die die DACL enthält. Die Funktion ruft einen Zeiger darauf ab.
[out] lpbDaclPresent
Ein Zeiger auf einen Wert, der das Vorhandensein einer DACL in der angegebenen Sicherheitsbeschreibung angibt. Wenn lpbDaclPresentTRUE ist, enthält der Sicherheitsdeskriptor eine DACL, und die restlichen Ausgabeparameter in dieser Funktion erhalten gültige Werte. Wenn lpbDaclPresentFALSE ist, enthält der Sicherheitsdeskriptor keine DACL, und die verbleibenden Ausgabeparameter erhalten keine gültigen Werte.
Ein Wert von TRUE für lpbDaclPresent bedeutet nicht, dass pDacl nicht NULL ist. Das heißt, lpbDaclPresent kann TRUE sein, während pDaclNULL ist, was bedeutet, dass eine NULL-DACL wirksam ist. Eine NULL-DACL ermöglicht implizit den gesamten Zugriff auf ein Objekt und ist nicht mit einer leeren DACL identisch. Eine leere DACL lässt keinen Zugriff auf ein Objekt zu. Informationen zum Erstellen einer richtigen DACL finden Sie unter Erstellen einer DACL.
[out] pDacl
Ein Zeiger auf einen Zeiger auf eine Zugriffssteuerungsliste (Access Control List , ACL). Wenn eine DACL vorhanden ist, legt die Funktion den Zeiger, auf den pDacl verweist, auf die Adresse der DACL des Sicherheitsdeskriptors fest. Wenn keine DACL vorhanden ist, wird kein Wert gespeichert.
Wenn die Funktion einen NULL-Wert im Zeiger speichert, auf den pDacl verweist, verfügt der Sicherheitsdeskriptor über eine NULL-DACL . Eine NULL-DACL ermöglicht implizit den gesamten Zugriff auf ein Objekt.
Wenn eine Anwendung eine DACL ohne NULL erwartet, aber auf eine NULL-DACL stößt, sollte die Anwendung sicher fehlschlagen und keinen Zugriff zulassen.
[out] lpbDaclDefaulted
Ein Zeiger auf ein Flag, das auf den Wert des SE_DACL_DEFAULTED Flags in der SECURITY_DESCRIPTOR_CONTROL-Struktur festgelegt ist, wenn eine DACL für die Sicherheitsbeschreibung vorhanden ist. Wenn dieses Flag TRUE ist, wurde die DACL von einem Standardmechanismus abgerufen. wenn FALSE, wurde die DACL explizit von einem Benutzer angegeben.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion nonzero zurück.
Wenn die Funktion fehlschlägt, gibt sie null zurück. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | securitybaseapi.h (einschließlich Windows.h) |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |