MakeSelfRelativeSD-Funktion (securitybaseapi.h)

Die MakeSelfRelativeSD-Funktion erstellt einen Sicherheitsdeskriptor im selbstrelativen Format, indem sie einen Sicherheitsdeskriptor im absoluten Format als Vorlage verwendet.

Syntax

BOOL MakeSelfRelativeSD(
  [in]            PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
  [out, optional] PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
  [in, out]       LPDWORD              lpdwBufferLength
);

Parameter

[in] pAbsoluteSecurityDescriptor

Ein Zeiger auf eine SECURITY_DESCRIPTOR Struktur im absoluten Format. Die Funktion erstellt eine Version dieses Sicherheitsdeskriptors im selbstrelativen Format, ohne das Ursprüngliche zu ändern.

[out, optional] pSelfRelativeSecurityDescriptor

Ein Zeiger auf einen Puffer, den die Funktion mit einem Sicherheitsdeskriptor im selbstrelativen Format füllt.

[in, out] lpdwBufferLength

Ein Zeiger auf eine Variable, die die Größe des Puffers angibt, auf den der pSelfRelativeSD-Parameter verweist. Wenn der Puffer nicht groß genug für die Sicherheitsbeschreibung ist, schlägt die Funktion fehl und legt diese Variable auf die erforderliche Mindestgröße fest.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf. Mögliche Rückgabecodes umfassen folgendes, sind aber nicht darauf beschränkt.

Rückgabecode/-wert BESCHREIBUNG
ERROR_INSUFFICIENT_BUFFER
0x7A
Mindestens ein Puffer ist zu klein.

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 die Informationen immer, aber die anderen Komponenten des Sicherheitsdeskriptors können der 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 einer Diskette gespeichert oder mithilfe eines Kommunikationsprotokolls übertragen werden muss.

Ein Server, der gesicherte Objekte auf verschiedene Medien kopiert, kann die MakeSelfRelativeSD-Funktion verwenden, um einen selbstrelativen Sicherheitsdeskriptor aus einem absoluten Sicherheitsdeskriptor zu erstellen, und die MakeAbsoluteSD-Funktion , um einen absoluten Sicherheitsdeskriptor aus einem selbstrelativen Sicherheitsdeskriptor zu erstellen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile securitybaseapi.h (einschließlich Windows.h)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

Low-Level-Access Control

Access Control funktionen auf niedriger Ebene

MakeAbsoluteSD

SECURITY_DESCRIPTOR