Función InternetCrackUrlA (wininet.h)
Divide una dirección URL en sus partes de componente.
Sintaxis
BOOL InternetCrackUrlA(
[in] LPCSTR lpszUrl,
[in] DWORD dwUrlLength,
[in] DWORD dwFlags,
[in, out] LPURL_COMPONENTSA 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 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 valores siguientes.
Valor | Significado |
---|---|
|
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 en la que copiar los componentes. |
|
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 en la que copiar los componentes. |
[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 realiza correctamente o FALSE en caso contrario. Para obtener información de error extendida, llame a GetLastError.
Comentarios
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 tanto el valor como la longitud de un componente son iguales a cero, ese componente no se devuelve. 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 la cadena lpszUrl 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 de URL_COMPONENTS , en bytes, debe almacenarse en el miembro dwStructSize .
Nota No use InternetCrackUrl en direcciones URL de "file://" que contengan espacios, ya que el valor devuelto en el miembro dwUrlPathLength de la estructura de URL_COMPONENTS apuntado 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
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 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 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wininet.h |
Library | Wininet.lib |
Archivo DLL | Wininet.dll |