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) |