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 PARSEDURL che riceve i risultati analizzati. L'applicazione chiamante deve impostare il membro cbSize della struttura sulle dimensioni 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 (definito in Intshcut.h) se la stringa non è stata analizzata come URL.
Commenti
L'analisi eseguita da ParseURL è piuttosto rudimentale. Per l'analisi degli URL più sofisticata, usare InternetCrackUrl.
Esempio
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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | shlwapi.h |
DLL | Shlwapi.dll (versione 6.0.1 o successiva) |