Função ParseURLW (shlwapi.h)
Executa a análise rudimentar de uma URL.
Sintaxe
LWSTDAPI ParseURLW(
[in] LPCWSTR pcszURL,
[in, out] PARSEDURLW *ppu
);
Parâmetros
[in] pcszURL
Tipo: LPCTSTR
Um ponteiro para uma cadeia de caracteres terminada em nulo que contém a URL a ser analisada.
[in, out] ppu
Tipo: PARSEDURL*
Um ponteiro para uma estrutura PARSEDURL que recebe os resultados analisados. O aplicativo de chamada deve definir o membro cbSize da estrutura para o tamanho da estrutura antes de chamar ParseURL.
Valor retornado
Tipo: HRESULT
Retorna S_OK em caso de êxito ou um código de erro COM caso contrário. A função retornará URL_E_INVALID_SYNTAX (definida em Intshcut.h) se a cadeia de caracteres não puder ser analisada como uma URL.
Comentários
A análise realizada pela ParseURL é bastante rudimentar. Para análise de URL mais sofisticada, use InternetCrackUrl.
Exemplos
Este aplicativo de console de exemplo usa ParseURL para analisar várias URLs simples.
#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;
}
Saída:
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
Observação
O cabeçalho shlwapi.h define ParseURL como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shlwapi.h |
DLL | Shlwapi.dll (versão 6.0.1 ou posterior) |