ConvertStringSecurityDescriptorToSecurityDescriptorA-Funktion (sddl.h)

Die ConvertStringSecurityDescriptorToSecurityDescriptor-Funktion konvertiert einen Sicherheitsdeskriptor im Zeichenfolgenformat in einen gültigen funktionalen Sicherheitsdeskriptor. Diese Funktion ruft einen Sicherheitsdeskriptor ab, den die ConvertSecurityDescriptorToStringSecurityDescriptor-Funktion in das Zeichenfolgenformat konvertiert hat.

Syntax

BOOL ConvertStringSecurityDescriptorToSecurityDescriptorA(
  [in]  LPCSTR               StringSecurityDescriptor,
  [in]  DWORD                StringSDRevision,
  [out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
  [out] PULONG               SecurityDescriptorSize
);

Parameter

[in] StringSecurityDescriptor

Ein Zeiger auf eine NULL-Zeichenfolge, die die zu konvertierende Sicherheitsbeschreibung im Zeichenfolgenformat enthält.

[in] StringSDRevision

Gibt die Revisionsebene der StringSecurityDescriptor-Zeichenfolge an. Derzeit muss dieser Wert SDDL_REVISION_1 sein.

[out] SecurityDescriptor

Ein Zeiger auf eine Variable, die einen Zeiger auf die konvertierte Sicherheitsbeschreibung empfängt. Die zurückgegebene Sicherheitsbeschreibung ist selbstrelativ. Um den zurückgegebenen Puffer freizugeben, rufen Sie die Funktion LocalFree auf. Verwenden Sie die MakeAbsoluteSD-Funktion, um den Sicherheitsdeskriptor in einen absoluten Sicherheitsdeskriptor zu konvertieren.

[out] SecurityDescriptorSize

Ein Zeiger auf eine Variable, die die Größe der konvertierten Sicherheitsbeschreibung in Bytes empfängt. Dieser Parameter kann NULL sein.

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. GetLastError gibt möglicherweise einen der folgenden Fehlercodes zurück.

Rückgabecode Beschreibung
ERROR_INVALID_PARAMETER
Ein Parameter ist nicht gültig.
ERROR_UNKNOWN_REVISION
Die SDDL-Revisionsebene ist ungültig.
ERROR_NONE_MAPPED
Ein Sicherheitsbezeichner (SID) in der Eingabesicherheitsdeskriptorzeichenfolge konnte in einem Kontosuchevorgang nicht gefunden werden.

Hinweise

Wenn ace_type ACCESS_ALLOWED_OBJECT_ACE_TYPE ist und weder object_guid noch inherit_object_guid eine GUID angegeben hat, konvertiert ConvertStringSecurityDescriptorToSecurityDescriptorace_type in ACCESS_ALLOWED_ACE_TYPE. Informationen zu den Feldern ace_type, object_guid und inherit_object_guid finden Sie unter Ace Strings.

Hinweis

Der sddl.h-Header definiert ConvertStringSecurityDescriptorToSecurityDescriptor als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

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 sddl.h
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

Zugriffssteuerung Übersicht

Grundlegende Access Control-Funktionen

ConvertSecurityDescriptorToStringSecurityDescriptor

ConvertSidToStringSid

ConvertStringSidToSid

MakeAbsoluteSD

SECURITY_DESCRIPTOR