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