Compartir a través de


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 de

Puntero a una cadena terminada en null que contiene la dirección URL que se va a analizar.

[in, out] ppu

Tipo: parSEDURL de

Puntero a una estructura de 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.

Observaciones

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 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 Vista [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de shlwapi.h
DLL de Shlwapi.dll (versión 6.0.1 o posterior)