Partager via


Fonction ConvertStringSecurityDescriptorToSecurityDescriptorA (sddl.h)

La fonction ConvertStringSecurityDescriptorToSecurityDescriptor convertit un descripteur de sécurité au format chaîne en un descripteur de sécurité fonctionnel valide. Cette fonction récupère un descripteur de sécurité que la fonction ConvertSecurityDescriptorToStringSecurityDescriptor a converti au format chaîne.

Syntaxe

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

Paramètres

[in] StringSecurityDescriptor

Pointeur vers une chaîne terminée par null contenant le descripteur de sécurité au format chaîne à convertir.

[in] StringSDRevision

Spécifie le niveau de révision de la chaîne StringSecurityDescriptor . Actuellement, cette valeur doit être SDDL_REVISION_1.

[out] SecurityDescriptor

Pointeur vers une variable qui reçoit un pointeur vers le descripteur de sécurité converti. Le descripteur de sécurité retourné est auto-relatif. Pour libérer la mémoire tampon retournée, appelez la fonction LocalFree . Pour convertir le descripteur de sécurité en descripteur de sécurité absolu, utilisez la fonction MakeAbsoluteSD .

[out] SecurityDescriptorSize

Pointeur vers une variable qui reçoit la taille, en octets, du descripteur de sécurité converti. Ce paramètre peut être NULL.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError. GetLastError peut retourner l’un des codes d’erreur suivants.

Code de retour Description
ERROR_INVALID_PARAMETER
Un paramètre n'est pas valide.
ERROR_UNKNOWN_REVISION
Le niveau de révision SDDL n’est pas valide.
ERROR_NONE_MAPPED
Un identificateur de sécurité (SID) dans la chaîne de descripteur de sécurité d’entrée est introuvable dans une opération de recherche de compte.

Remarques

Si ace_type est ACCESS_ALLOWED_OBJECT_ACE_TYPE et que ni object_guid ni inherit_object_guid n’ont spécifié de GUID , ConvertStringSecurityDescriptorToSecurityDescriptor convertit ace_type en ACCESS_ALLOWED_ACE_TYPE. Pour plus d’informations sur les champs ace_type, object_guid et inherit_object_guid , consultez Chaînes ace.

Notes

L’en-tête sddl.h définit ConvertStringSecurityDescriptorToSecurityDescriptor comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête sddl.h
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

Vue d’ensemble du contrôle d’accès

Fonctions Access Control de base

ConvertSecurityDescriptorToStringSecurityDescriptor

ConvertSidToStringSid

ConvertStringsidTosid

MakeAbsoluteSD

SECURITY_DESCRIPTOR