Fonction UrlUnescapeW (shlwapi.h)
Convertit les séquences d’échappement en caractères ordinaires.
Syntaxe
LWSTDAPI UrlUnescapeW(
[in, out] PWSTR pszUrl,
[out, optional] PWSTR pszUnescaped,
[in, out, optional] DWORD *pcchUnescaped,
DWORD dwFlags
);
Paramètres
[in, out] pszUrl
Type : PTSTR
Pointeur vers une chaîne terminée par null avec l’URL. Si dwFlags a la valeur URL_UNESCAPE_INPLACE, la chaîne convertie est retournée via ce paramètre.
[out, optional] pszUnescaped
Type : PTSTR
Pointeur vers une mémoire tampon qui recevra une chaîne terminée par null qui contient la version non boucurée de pszURL. Si URL_UNESCAPE_INPLACE est défini dans dwFlags, ce paramètre est ignoré.
[in, out, optional] pcchUnescaped
Type : DWORD*
Nombre de caractères dans la mémoire tampon pointée vers pszUnescaped. Lors de l’entrée, la valeur pcchUnescaped pointe vers est définie sur la taille de la mémoire tampon. Si la fonction retourne un code de réussite et que l’indicateur URL_UNESCAPE_INPLACE n’est pas défini, la valeur vers laquelle pointe pcchUnescaped est définie sur le nombre de caractères écrits dans cette mémoire tampon, sans compter le caractère NULL de fin. Si un code d’erreur E_POINTER est retourné, la mémoire tampon était trop petite et la valeur à laquelle les points pcchUnescaped sont définis sur le nombre requis de caractères que la mémoire tampon doit être en mesure de contenir. Si d’autres erreurs sont retournées, la valeur à laquelle les points pcchUnescaped n’est pas définie.
dwFlags
Type : DWORD
Indicateurs qui contrôlent les caractères non échiffés. Il peut s’agir d’une combinaison des indicateurs suivants.
URL_DONT_UNESCAPE_EXTRA_INFO
Ne convertissez pas le # ou ? ou tous les caractères qui les suivent dans la chaîne.
URL_UNESCAPE_AS_UTF8
Introduit dans Windows 8. Décodez les URL qui ont été encodées à l’aide de l’indicateur URL_ESCAPE_AS_UTF8 .
URL_UNESCAPE_INPLACE
Utilisez pszURL pour renvoyer la chaîne convertie au lieu de pszUnescaped.
Valeur retournée
Type : HRESULT
Retourne S_OK en cas de réussite. Si l’indicateur URL_UNESCAPE_INPLACE n’est pas défini, la valeur pointée par pcchUnescaped est définie sur le nombre de caractères dans la mémoire tampon de sortie pointée par pszUnescaped. Retourne E_POINTER si l’indicateur URL_UNESCAPE_INPLACE n’est pas défini et si la mémoire tampon de sortie est trop petite. Le paramètre pcchUnescaped est défini sur la taille de mémoire tampon requise. Sinon, retourne une valeur d’erreur standard.
Remarques
Une séquence d’échappement a la forme « %xy ».
Les chaînes d’entrée ne peuvent pas être plus longues que INTERNET_MAX_URL_LENGTH.
Notes
L’en-tête shlwapi.h définit UrlUnescape 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
Client minimal pris en charge | Windows 2000 Professionnel, Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | shlwapi.h |
Bibliothèque | Shlwapi.lib |
DLL | Shlwapi.dll (version 5.0 ou ultérieure) |