Función ParseURLA (shlwapi.h)
Realiza un análisis rudimentario de una dirección URL.
Sintaxis
LWSTDAPI ParseURLA(
[in] LPCSTR pcszURL,
[in, out] PARSEDURLA *ppu
);
Parámetros
[in] pcszURL
Tipo: LPCTSTR
Puntero a una cadena terminada en null que contiene la dirección URL que se va a analizar.
[in, out] ppu
Tipo: PARSEDURL*
Puntero a una estructura PARSEDURL que recibe los resultados analizados. La aplicación que llama debe establecer el miembro cbSize de la estructura en el tamaño de la estructura antes de llamar a ParseURL.
Valor devuelto
Tipo: HRESULT
Devuelve S_OK si se ejecuta correctamente o un código de error COM de lo contrario. La función devuelve URL_E_INVALID_SYNTAX (definido en Intshcut.h) si la cadena no se pudo analizar como una dirección URL.
Comentarios
El análisis realizado por ParseURL es bastante rudimentario. Para analizar direcciones URL más sofisticadas, use InternetCrackUrl.
Ejemplos
Esta aplicación de consola de ejemplo usa ParseURL para analizar varias direcciones URL sencillas.
#include <windows.h>
#include <shlwapi.h>
#include <stdio.h>
#include <tchar.h>
void sample(LPCTSTR pcszUrl)
{
PARSEDURL pu;
pu.cbSize = sizeof(pu);
HRESULT hr = ParseURL(pcszUrl, &pu);
_tprintf(TEXT("ParseURL(%s) returned 0x%08x\n"), pcszUrl, hr);
if (SUCCEEDED(hr)) {
_tprintf(TEXT("Protocol = %.*s\n"), pu.cchProtocol, pu.pszProtocol);
_tprintf(TEXT("Suffix = %.*s\n"), pu.cchSuffix, pu.pszSuffix);
_tprintf(TEXT("Scheme = %d\n"), pu.nScheme);
_tprintf(TEXT("\n"));
}
}
int __cdecl main()
{
sample(TEXT("http://msdn.microsoft.com/vstudio/"));
sample(TEXT("mailto:someone@example.com"));
sample(TEXT("file://C:\\AUTOEXEC.BAT"));
sample(TEXT("C:\\AUTOEXEC.BAT"));
return 0;
}
OUTPUT:
---------
ParseURL(http://msdn.microsoft.com/vstudio/) returned 0x00000000
Protocol = http
Suffix = //msdn.microsoft.com/vstudio/
Scheme = 2
ParseURL(mailto:someone@example.com) returned 0x00000000
Protocol = mailto
Suffix = someone@example.com
Scheme = 4
ParseURL(file://C:\AUTOEXEC.BAT) returned 0x00000000
Protocol = file
Suffix = C:\AUTOEXEC.BAT
Scheme = 9
ParseURL(C:\AUTOEXEC.BAT) returned 0x80041001
Nota
El encabezado shlwapi.h define ParseURL 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 Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlwapi.h |
Archivo DLL | Shlwapi.dll (versión 6.0.1 o posterior) |