RtlSetDaclSecurityDescriptor-Funktion (wdm.h)

Die RtlSetDaclSecurityDescriptor-Routine legt die DACL-Informationen eines Sicherheitsdeskriptors im absoluten Format fest, oder wenn bereits eine DACL im Sicherheitsdeskriptor vorhanden ist, wird sie abgelöst.

Syntax

NTSYSAPI NTSTATUS RtlSetDaclSecurityDescriptor(
  [in, out]      PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]           BOOLEAN              DaclPresent,
  [in, optional] PACL                 Dacl,
  [in, optional] BOOLEAN              DaclDefaulted
);

Parameter

[in, out] SecurityDescriptor

Ein Zeiger auf eine SECURITY_DESCRIPTOR-Struktur . Diese Struktur ist der Sicherheitsdeskriptor, auf den die DACL angewendet werden soll.

[in] DaclPresent

Gibt an, ob eine DACL im Sicherheitsdeskriptor vorhanden ist. Wenn dieser Parameter FALSE ist, legt RtlSetDaclSecurityDescriptor das SE_DACL_PRESENT-Steuerelementflag im Sicherheitsdeskriptor auf FALSE fest. In diesem Fall werden die verbleibenden optionalen Parameter (Dacl und DaclDefaulted) ignoriert. Wenn DaclPresentAUF TRUE festgelegt ist, wird das SE_DACL_PRESENT-Flag im Sicherheitsdeskriptor auf TRUE festgelegt, und die verbleibenden optionalen Parameter werden nicht ignoriert. Weitere Informationen zum SE_DACL_PRESENT-Flag finden Sie unter SECURITY_DESCRIPTOR_CONTROL.

[in, optional] Dacl

Ein Zeiger auf die DACL für den Sicherheitsdeskriptor. Wenn dieser Parameter NULL ist, wird der DACL-Zeiger im Sicherheitsdeskriptor auf NULL festgelegt. Ein NULL-DACL-Zeiger gewährt bedingungslos den gesamten Zugriff auf ein Objekt und ist nicht identisch mit einer leeren DACL. Eine leere DACL verweigert den gesamten Zugriff auf ein Objekt. Wenn Dacl ungleich NULL ist, wird vom Sicherheitsdeskriptor auf die vom Aufrufer bereitgestellte ACL-Struktur verwiesen, aber nicht in diese kopiert. Der Aufrufer kann die ACL-Struktur aus dem ausgelagerten Systemspeicher zuordnen und die RtlCreateAcl-Routine aufrufen, um die Struktur zu initialisieren.

[in, optional] DaclDefaulted

Gibt an, ob die DACL von einem Standardmechanismus bereitgestellt oder explizit vom Aufrufer angegeben wurde. Wenn dieser Parameter TRUE ist, wurde die DACL von einem Standardmechanismus bereitgestellt. Wenn DaclDefaultedauf FALSE festgelegt ist, hat der Aufrufer explizit die DACL angegeben. RtlSetDaclSecurityDescriptor kopiert den für diesen Parameter angegebenen Wert in das SE_DACL_DEFAULTED-Steuerelementflag im Sicherheitsdeskriptor. Weitere Informationen zum SE_DACL_DEFAULTED-Flag finden Sie unter SECURITY_DESCRIPTOR_CONTROL.

Rückgabewert

RtlSetDaclSecurityDescriptor kann einen der folgenden status-Werte zurückgeben.

Rückgabecode Beschreibung
STATUS_SUCCESS
Der Aufruf wurde erfolgreich abgeschlossen.
STATUS_UNKNOWN_REVISION
Die Revision des Sicherheitsdeskriptors ist unbekannt.
STATUS_INVALID_SECURITY_DESCR
Der Sicherheitsdeskriptor ist kein absoluter Formatsicherheitsdeskriptor.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe (Kernelmodus); Ntdll.dll (Benutzermodus)
IRQL PASSIVE_LEVEL

Weitere Informationen

ACL

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL