Freigeben über


RtlAbsoluteToSelfRelativeSD-Funktion (ntifs.h)

Die RtlAbsoluteToSelfRelativeSD-Routine erstellt einen neuen Sicherheitsdeskriptor im selbstrelativen Format, indem ein Sicherheitsdeskriptor im absoluten Format als Vorlage verwendet wird.

Syntax

NTSYSAPI NTSTATUS RtlAbsoluteToSelfRelativeSD(
  [in]      PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
  [out]     PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
  [in, out] PULONG               BufferLength
);

Parameter

[in] AbsoluteSecurityDescriptor

Zeiger auf einen vom Aufrufer zugeordneten Puffer, der eine SECURITY_DESCRIPTOR-Struktur im absoluten Format enthält. RtlAbsoluteToSelfRelativeSD erstellt eine Version dieses Sicherheitsdeskriptors im selbstrelativen Format, ohne das Original zu ändern.

[out] SelfRelativeSecurityDescriptor

Zeiger auf einen vom Aufrufer zugeordneten Puffer, der einen Sicherheitsdeskriptor im selbstrelativen Format empfängt.

[in, out] BufferLength

Zeiger auf eine vom Aufrufer zugeordnete Variable, die die Größe des Puffers in Byte angibt, auf den der SelfRelativeSecurityDescriptor-Parameter verweist. Wenn der Puffer nicht groß genug ist, um den Sicherheitsdeskriptor zu halten, gibt RtlAbsoluteToSelfRelativeSD STATUS_BUFFER_TOO_SMALL zurück und legt diese Variable auf die erforderliche Mindestgröße fest.

Rückgabewert

RtlAbsoluteToSelfRelativeSD gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:

Rückgabecode Beschreibung
STATUS_BAD_DESCRIPTOR_FORMAT
Der Puffer, auf den der AbsoluteSecurityDescriptor-Parameter verweist, enthielt keine SECURITY_DESCRIPTOR-Struktur im absoluten Format. STATUS_BAD_DESCRIPTOR_FORMAT ist ein Fehlercode.
STATUS_BUFFER_TOO_SMALL
Der Puffer, auf den der Parameter SelfRelativeSecurityDescriptor verweist, war zu klein, um den Sicherheitsdeskriptor im selbstrelativen Format zu enthalten. STATUS_BUFFER_TOO_SMALL ist ein Fehlercode.

Hinweise

Ein Sicherheitsdeskriptor im absoluten Format enthält Zeiger auf die darin enthaltenen Informationen, anstatt die Informationen selbst zu enthalten. Ein Sicherheitsdeskriptor im selbstrelativen Format enthält die Informationen in einem zusammenhängenden Speicherblock. In einem selbstrelativen Sicherheitsdeskriptor startet eine SECURITY_DESCRIPTOR-Struktur immer die Informationen, aber die anderen Komponenten des Sicherheitsdeskriptors können der SECURITY_DESCRIPTOR-Struktur in beliebiger Reihenfolge folgen. Anstatt Speicheradressen zu verwenden, werden die Komponenten des Sicherheitsdeskriptors durch Offsets vom Anfang des Sicherheitsdeskriptors identifiziert. Dieses Format ist nützlich, wenn ein Sicherheitsdeskriptor auf einem Datenträger gespeichert oder über ein Kommunikationsprotokoll übertragen werden muss.

Verwenden Sie RtlSelfRelativeToAbsoluteSD, um einen neuen Sicherheitsdeskriptor im absoluten Format zu erstellen, indem Sie einen Sicherheitsdeskriptor im selbstrelativen Format als Vorlage verwenden.

Weitere Informationen zur Sicherheit und Zugriffssteuerung finden Sie in der Microsoft Windows SDK-Dokumentation.

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 (Kernelmodus); Ntdll.dll (Benutzermodus)
IRQL <= APC_LEVEL

Weitere Informationen

ACL

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSelfRelativeToAbsoluteSD

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor