Compartir a través de


Función UrlUnescapeA (shlwapi.h)

Convierte las secuencias de escape en caracteres normales.

Sintaxis

LWSTDAPI UrlUnescapeA(
  [in, out]           PSTR  pszUrl,
  [out, optional]     PSTR  pszUnescaped,
  [in, out, optional] DWORD *pcchUnescaped,
                      DWORD dwFlags
);

Parámetros

[in, out] pszUrl

Tipo: PTSTR

Puntero a una cadena terminada en null con la dirección URL. Si dwFlags se establece en URL_UNESCAPE_INPLACE, la cadena convertida se devuelve a través de este parámetro.

[out, optional] pszUnescaped

Tipo: PTSTR

Puntero a un búfer que recibirá una cadena terminada en null que contiene la versión sin escape de pszURL. Si URL_UNESCAPE_INPLACE se establece en dwFlags, este parámetro se omite.

[in, out, optional] pcchUnescaped

Tipo: DWORD*

Número de caracteres del búfer al que apunta pszUnescaped. En la entrada, el valor pcchUnescaped apunta a se establece en el tamaño del búfer. Si la función devuelve un código correcto y la marca de URL_UNESCAPE_INPLACE no se establece, el valor que pcchUnescaped apunta a se establece en el número de caracteres escritos en ese búfer, sin contar el carácter NULL de terminación. Si se devuelve un código de error de E_POINTER, el búfer era demasiado pequeño y el valor al que apunta pcchUnescaped se establece en el número necesario de caracteres que debe contener el búfer. Si se devuelven otros errores, el valor al que apunta pcchUnescaped no está definido.

dwFlags

Tipo: DWORD

Marcas que controlan qué caracteres están sin escape. Puede ser una combinación de las marcas siguientes.

URL_DONT_UNESCAPE_EXTRA_INFO

No convierta el número o ? character, o cualquier carácter que los siga en la cadena.

URL_UNESCAPE_AS_UTF8

Introducido en Windows 8. Descodifique las direcciones URL codificadas mediante la marca URL_ESCAPE_AS_UTF8 .

URL_UNESCAPE_INPLACE

Use pszURL para devolver la cadena convertida en lugar de pszUnescaped.

Valor devuelto

Tipo: HRESULT

Devuelve S_OK si se ejecuta correctamente. Si no se establece la marca de URL_UNESCAPE_INPLACE , el valor al que apunta pcchUnescaped se establecerá en el número de caracteres del búfer de salida al que apunta pszUnescaped. Devuelve E_POINTER si la marca URL_UNESCAPE_INPLACE no está establecida y el búfer de salida es demasiado pequeño. El parámetro pcchUnescaped se establecerá en el tamaño de búfer necesario. De lo contrario, devuelve un valor de error estándar.

Comentarios

Una secuencia de escape tiene el formato "%xy".

Las cadenas de entrada no pueden ser más largas que INTERNET_MAX_URL_LENGTH.

Nota

El encabezado shlwapi.h define UrlUnescape como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shlwapi.h
Library Shlwapi.lib
Archivo DLL Shlwapi.dll (versión 5.0 o posterior)