Funzione ConvertStringSecurityDescriptorToSecurityDescriptorA (sddl.h)

La funzione ConvertStringSecurityDescriptorToSecurityDescriptor converte un descrittore di sicurezza in formato stringa in un descrittore di sicurezza valido e funzionale. Questa funzione recupera un descrittore di sicurezza convertito in formato stringa dalla funzione ConvertSecurityDescriptorToStringSecurityDescriptor .

Sintassi

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

Parametri

[in] StringSecurityDescriptor

Puntatore a una stringa con terminazione null contenente il descrittore di sicurezza in formato stringa da convertire.

[in] StringSDRevision

Specifica il livello di revisione della stringa StringSecurityDescriptor . Attualmente questo valore deve essere SDDL_REVISION_1.

[out] SecurityDescriptor

Puntatore a una variabile che riceve un puntatore al descrittore di sicurezza convertito. Il descrittore di sicurezza restituito è auto-relativo. Per liberare il buffer restituito, chiamare la funzione LocalFree . Per convertire il descrittore di sicurezza in un descrittore di sicurezza assoluto, usare la funzione MakeAbsoluteSD .

[out] SecurityDescriptorSize

Puntatore a una variabile che riceve le dimensioni, in byte, del descrittore di sicurezza convertito. Questo parametro può essere NULL.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError. GetLastError può restituire uno dei codici di errore seguenti.

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Un parametro non è valido.
ERROR_UNKNOWN_REVISION
Il livello di revisione SDDL non è valido.
ERROR_NONE_MAPPED
Impossibile trovare un identificatore di sicurezza (SID) nella stringa del descrittore di sicurezza di input in un'operazione di ricerca dell'account.

Commenti

Se ace_type è ACCESS_ALLOWED_OBJECT_ACE_TYPE e non object_guid né inherit_object_guid ha un GUID specificato, ConvertStringSecurityDescriptorToSecurityDescriptor converteace_type in ACCESS_ALLOWED_ACE_TYPE. Per informazioni sui campi ace_type, object_guid e inherit_object_guid , vedere Ace Strings.

Nota

L'intestazione sddl.h definisce ConvertStringSecurityDescriptorToSecurityDescriptor come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione sddl.h
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

Panoramica Controllo di accesso

Funzioni di base Controllo di accesso

ConvertSecurityDescriptorToStringSecurityDescriptor

ConvertSidToStringSid

ConvertStringSidToSid

MakeAbsoluteSD

SECURITY_DESCRIPTOR