Freigeben über


ConvertStringSecurityDescriptorToSecurityDescriptorW-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 ConvertStringSecurityDescriptorToSecurityDescriptorW(
  [in]  LPCWSTR              StringSecurityDescriptor,
  [in]  DWORD                StringSDRevision,
  [out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
  [out] PULONG               SecurityDescriptorSize
);

Parameter

[in] StringSecurityDescriptor

Ein Zeiger auf eine NULL-endende Zeichenfolge, die den zu konvertierenden Sicherheitsdeskriptor 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 den konvertierten Sicherheitsdeskriptor empfängt. Der zurückgegebene Sicherheitsdeskriptor ist selbstrelativer. 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 des konvertierten Sicherheitsdeskriptors 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
Eine Sicherheits-ID (SID) in der Eingabe-Sicherheitsbeschreibungszeichenfolge konnte in einem Kontosuchvorgang nicht gefunden werden.

Hinweise

Wenn ace_type ACCESS_ALLOWED_OBJECT_ACE_TYPE ist und weder object_guid noch inherit_object_guid eine GUID angegeben ist, konvertiert ConvertStringSecurityDescriptorToSecurityDescriptorToSecurityDescriptorace_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 automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, 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