RtlGetDaclSecurityDescriptor-Funktion (ntifs.h)
Der RtlGetDaclSecurityDescriptor Routine gibt einen Zeiger auf die diskretionäre ACL (DACL) für einen Sicherheitsdeskriptor zurück.
Syntax
NTSYSAPI NTSTATUS RtlGetDaclSecurityDescriptor(
[in] PSECURITY_DESCRIPTOR SecurityDescriptor,
[out] PBOOLEAN DaclPresent,
[out] PACL *Dacl,
[out] PBOOLEAN DaclDefaulted
);
Parameter
[in] SecurityDescriptor
Zeiger auf die SECURITY_DESCRIPTOR, deren DACL zurückgegeben werden soll.
[out] DaclPresent
Zeiger auf eine boolesche Variable, die das Vorhandensein einer DACL im angegebenen Sicherheitsdeskriptor angibt. Wenn diese Variable TRUEempfängt, enthält der Sicherheitsdeskriptor eine DACL, und die verbleibenden Ausgabeparameter erhalten gültige Werte. Wenn diese Variable FALSEempfängt, enthält der Sicherheitsdeskriptor keine DACL, und die verbleibenden Ausgabeparameter erhalten keine gültigen Werte.
[out] Dacl
Zeiger auf eine Variable, die die Adresse der DACL für den Sicherheitsdeskriptor empfängt. Wenn der Sicherheitsdeskriptor nicht über eine DACL verfügt, erhält diese Variable keinen Wert. Wenn der Sicherheitsdeskriptor eine NULL- DACL aufweist, empfängt diese Variable NULL-. Ein NULL- DACL ermöglicht implizit allen Zugriff auf ein Objekt.
[out] DaclDefaulted
Zeiger auf eine boolesche Variable, die den Wert des SE_DACL_DEFAULTED Flags in der SECURITY_DESCRIPTOR_CONTROL Struktur des Sicherheitsdeskriptors empfängt. Wenn dieses Flag TRUEist, wurde die DACL von einem Standardmechanismus abgerufen. Wenn es FALSE-ist, wurde die DACL explizit von einem Benutzer angegeben. Dieser Wert ist nur gültig, wenn *Dacl einen Wert ohneNULL empfängt.
Rückgabewert
RtlGetDaclSecurityDescriptor gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert wie den folgenden zurück:
Rückgabecode | Beschreibung |
---|---|
|
Die Revisionsebene des Sicherheitsdeskriptors ist unbekannt oder wird nicht unterstützt. Dies ist ein Fehlercode. |
Bemerkungen
Ein Wert von TRUE für *DaclPresent bedeutet nicht, dass *Dacl nichtNULL-ist. Das heißt, *DaclPresent- kann TRUE sein, während *DaclNULL-ist, was bedeutet, dass eine NULL- DACL wirksam ist. Ein NULL- DACL ermöglicht implizit allen Zugriff auf ein Objekt und ist nicht mit einer leeren DACL identisch. Eine leere DACL erlaubt keinen Zugriff auf ein Objekt.
Weitere Informationen zur Sicherheits- und Zugriffssteuerung finden Sie unter Windows-Sicherheitsmodell für Treiberentwickler und die Dokumentation zu diesen Themen im Windows SDK.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Server 2003 SP1 |
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <= APC_LEVEL |