RtlGetDaclSecurityDescriptor-Funktion (ntifs.h)

Die RtlGetDaclSecurityDescriptor-Routine gibt einen Zeiger auf die discretionary 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 den SECURITY_DESCRIPTOR , dessen DACL zurückgegeben werden soll.

[out] DaclPresent

Zeiger auf eine boolesche Variable, die das Vorhandensein einer DACL im angegebenen Sicherheitsdeskriptor angibt. Wenn diese Variable TRUE empfängt, enthält der Sicherheitsdeskriptor eine DACL, und die restlichen Ausgabeparameter erhalten gültige Werte. Wenn diese Variable FALSE empfängt, enthält der Sicherheitsdeskriptor keine DACL, und die restlichen Ausgabeparameter erhalten keine gültigen Werte.

[out] Dacl

Zeiger auf eine Variable, die die Adresse der DACL für die Sicherheitsbeschreibung empfängt. Wenn die Sicherheitsbeschreibung keine DACL aufweist, erhält diese Variable keinen Wert. Wenn der Sicherheitsdeskriptor über eine NULL-DACL verfügt , empfängt diese Variable NULL. Eine NULL-DACL ermöglicht implizit den gesamten 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 TRUE ist, 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 ohne NULL empfängt.

Rückgabewert

RtlGetDaclSecurityDescriptor gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert wie den folgenden zurück:

Rückgabecode Beschreibung
STATUS_UNKNOWN_REVISION
Die Revisionsebene des Sicherheitsdeskriptors ist unbekannt oder wird nicht unterstützt. Dies ist ein Fehlercode.

Hinweise

Ein Wert von TRUE für *DaclPresent bedeutet nicht, dass *Dacl nicht NULL ist. Das heißt, *DaclPresent kann TRUE sein, während *DaclNULL 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.

Weitere Informationen zur Sicherheit und Zugriffssteuerung finden Sie unter Windows-Sicherheitsmodell für Treiberentwickler und in der Dokumentation zu diesen Themen im Windows SDK.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Server 2003 SP1
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Weitere Informationen

ACL

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR