Compartir a través de


Función InternetCrackUrlW (wininet.h)

Descifra una dirección URL en sus partes de componente.

Sintaxis

BOOL InternetCrackUrlW(
  [in]      LPCWSTR           lpszUrl,
  [in]      DWORD             dwUrlLength,
  [in]      DWORD             dwFlags,
  [in, out] LPURL_COMPONENTSW lpUrlComponents
);

Parámetros

[in] lpszUrl

Puntero a una cadena que contiene la dirección URL canónica que se va a descifrar.

[in] dwUrlLength

Tamaño de la cadena de lpszUrl, en TCHAR, o cero si lpszUrl es una cadena ASCIIZ.

[in] dwFlags

Controla la operación. Este parámetro puede ser uno de los siguientes valores.

Valor Significado
ICU_DECODE
Convierte los caracteres codificados de nuevo en su forma normal. Esto solo se puede usar si el usuario proporciona búferes en la estructura URL_COMPONENTS para copiar los componentes en.
ICU_ESCAPE
Convierte todas las secuencias de escape (%xx) en sus caracteres correspondientes. Esto solo se puede usar si el usuario proporciona búferes en la estructura URL_COMPONENTS para copiar los componentes en.

[in, out] lpUrlComponents

Puntero a una estructura de URL_COMPONENTS que recibe los componentes de la dirección URL.

Valor devuelto

Devuelve TRUE si la función se ejecuta correctamente o FALSE de lo contrario. Para obtener información de error extendida, llame a GetLastError.

Observaciones

Los componentes necesarios se indican mediante miembros de la estructura URL_COMPONENTS. Cada componente tiene un puntero al valor y tiene un miembro que almacena la longitud del valor almacenado. Si el valor y la longitud de un componente son iguales a cero, no se devuelve ese componente. Windows Vista y versiones posteriores.: Si el puntero al valor del componente es NULL y el valor de su miembro de longitud correspondiente es distinto de cero, la dirección del primer carácter del componente correspondiente en el lpszUrl cadena se almacena en el puntero y la longitud del componente se almacena en el miembro length.

Si el puntero contiene la dirección del búfer proporcionado por el usuario, el miembro de longitud debe contener el tamaño del búfer. InternetCrackUrl copia el componente en el búfer y el miembro length se establece en la longitud del componente copiado, menos 1 para el terminador de cadena final.

Para que InternetCrackUrl funcione correctamente, el tamaño de la estructura URL_COMPONENTS, en bytes, debe almacenarse en el miembro dwStructSize.

Nota No usar internetCrackUrl en direcciones URL de "file://" que contienen espacios, ya que el valor devuelto en el dwUrlPathLength miembro de la estructura URL_COMPONENTS apuntada por lpUrlComponents es demasiado grande. Sin embargo, este es solo el caso, con direcciones URL de "file://" que contienen caracteres de espacio.

Al igual que todos los demás aspectos de la API de WinINet, esta función no se puede llamar de forma segura desde DllMain ni desde los constructores y destructores de objetos globales.

Nota WinINet no admite implementaciones de servidor. Además, no se debe usar desde un servicio. En el caso de las implementaciones de servidor o los servicios, use Servicios HTTP de Microsoft Windows (WinHTTP).
 

Nota

El encabezado wininet.h define InternetCrackUrl 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wininet.h
biblioteca de Wininet.lib
DLL de Wininet.dll

Consulte también

ftpOpenFile

control de localizadores uniformes de recursos

internetCloseHandle

InternetFindNextFile

internetSetStatusCallback

funciones winINet