Freigeben über


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
STATUS_UNKNOWN_REVISION
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

Siehe auch

ACL-

RtlCreateSecurityDescriptor-

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor-

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR