Condividi tramite


Funzione ParseURLA (shlwapi.h)

Esegue l'analisi rudimentale di un URL.

Sintassi

LWSTDAPI ParseURLA(
  [in]      LPCSTR     pcszURL,
  [in, out] PARSEDURLA *ppu
);

Parametri

[in] pcszURL

Tipo: LPCTSTR

Puntatore a una stringa con terminazione Null contenente l'URL da analizzare.

[in, out] ppu

Tipo: PARSEDURL*

Puntatore a una struttura di PARSEDURL che riceve i risultati analizzati. L'applicazione chiamante deve impostare il membro cbSize della struttura sulla dimensione della struttura prima di chiamare ParseURL.

Valore restituito

Tipo: HRESULT

Restituisce S_OK in caso di esito positivo o un codice di errore COM in caso contrario. La funzione restituisce URL_E_INVALID_SYNTAX (definita in Intshcut.h) se la stringa non è stata analizzata come URL.

Osservazioni

L'analisi eseguita da ParseURL è piuttosto rudimentale. Per l'analisi degli URL più sofisticata, usare InternetCrackUrl.

Esempi

Questa applicazione console di esempio usa ParseURL per analizzare diversi URL semplici.


#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

L'intestazione shlwapi.h definisce ParseURL come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione shlwapi.h
dll Shlwapi.dll (versione 6.0.1 o successiva)