Partager via


ConvertStringSecurityDescriptorToSecurityDescriptorA, fonction (sddl.h)

La fonction ConvertStringSecurityDescriptorToSecurityDescriptor convertit un descripteur de sécurité au format chaîne en descripteur de sécurité valide et fonctionnel. Cette fonction récupère un descripteur de sécurité que la fonction ConvertSecurityDescriptorToStringSecurityDescriptor convertie au format de 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 un 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 de retour

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’erreur étendues, appelez GetLastError. GetLastError peut retourner l’un des codes d’erreur suivants.

Retourner le code 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’a un GUID spécifié, ConvertStringSecurityDescriptorToSecurityDescriptor convertit ace_type en ACCESS_ALLOWED_ACE_TYPE. Pour plus d’informations sur les champs ace_type, object_guidet inherit_object_guid, consultez chaînes Ace.

Note

L’en-tête sddl.h définit ConvertStringSecurityDescriptorToSecurityDescriptor comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau | Applications UWP]
serveur minimum pris en charge Windows Server 2003 [applications de bureau | Applications UWP]
plateforme cible Windows
d’en-tête sddl.h
bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

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

fonctions de contrôle d’accès de base

ConvertSecurityDescriptorToStringSecurityDescriptor

ConvertSidToStringSid

convertStringSidToSid

MakeAbsoluteSD

SECURITY_DESCRIPTOR