Fonction DsUnquoteRdnValueA (dsparse.h)

La fonction DsUnquoteRdnValue est un appel client qui convertit une valeur RDN entre guillemets en une valeur RDN non citée. Étant donné que le RDN a été initialement placé entre guillemets, car il contenait des caractères susceptibles d’être mal interprétés lorsqu’il était incorporé dans un nom unique (DN), la valeur RDN non guillemets ne doit pas être envoyée dans le cadre d’un nom de domaine au service d’annuaire à l’aide de différentes API telles que LDAP.

Syntaxe

DSPARSE DWORD DsUnquoteRdnValueA(
  [in]      DWORD cQuotedRdnValueLength,
  [in]      LPCCH psQuotedRdnValue,
  [in, out] DWORD *pcUnquotedRdnValueLength,
  [out]     LPCH  psUnquotedRdnValue
);

Paramètres

[in] cQuotedRdnValueLength

Nombre de caractères dans la chaîne psQuotedRdnValue .

[in] psQuotedRdnValue

Valeur RDN qui peut être entre guillemets et placés dans une séquence d’échappement.

[in, out] pcUnquotedRdnValueLength

La valeur d’entrée de cet argument est la longueur maximale, en caractères, de psQuotedRdnValue.

La valeur de sortie de cet argument inclut les indicateurs suivants.

ERROR_SUCCESS

Cette valeur est retournée si le nombre de caractères correspond à la chaîne utilisée dans psQuotedRdnValue.

ERROR_BUFFER_OVERFLOW

Cette valeur est retournée si le nombre de caractères ne correspond pas à la chaîne utilisée dans psQuotedRdnValue.

[out] psUnquotedRdnValue

Valeur RDN convertie et non guillemets.

Valeur retournée

La liste suivante contient les valeurs possibles retournées pour la fonction DsUnquoteRdnValue .

Notes

Lorsque psQuotedRdnValue est cité :

  • Les guillemets de début et de fin sont supprimés.
  • Espace blanc avant que le premier guillemet ne soit ignoré.
  • Les espaces blancs à la fin de la dernière citation sont ignorés.
  • Les échappements sont supprimés et le caractère qui suit l’échappement est conservé.
Les actions suivantes sont effectuées lorsque psQuotedRdnValue n’est pas cité :
  • L’espace blanc de début est ignoré.
  • L’espace blanc de fin est conservé.
  • Les caractères non spéciaux placés dans une séquence d’échappement retournent une erreur.
  • Les caractères spéciaux non échiffés retournent une erreur.
  • Les valeurs RDN commençant par # (en ignorant les espaces blancs de début) sont gérées comme une valeur BER qui a déjà été convertie en chaîne et converties en conséquence.
  • Les chiffres hexadécimaux d’échappement (\89) sont convertis en octet binaire (0x89).
  • Les échappements sont supprimés des caractères spéciaux d’échappement.
Les actions suivantes sont toujours effectuées :
  • Les caractères spéciaux placés dans une séquence d’échappement ne sont pas échapés.
  • Les valeurs RDN d’entrée et de sortie ne sont pas des valeurs terminées par null.

Notes

L’en-tête dsparse.h définit DsUnquoteRdnValue 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.

Spécifications

   
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête dsparse.h (inclure Ntdsapi.h)
Bibliothèque Ntdsapi.lib
DLL Ntdsapi.dll

Voir aussi

Fonctions de gestion du contrôleur de domaine et de la réplication

DsQuoteRdnValue