Compartilhar via


Função ParseURLA (shlwapi.h)

Executa a análise rudimentar de uma URL.

Sintaxe

LWSTDAPI ParseURLA(
  [in]      LPCSTR     pcszURL,
  [in, out] PARSEDURLA *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 de retorno

Tipo: HRESULT

Retorna S_OK com ê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.

Observações

A análise executada por 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;
}   

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

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho shlwapi.h
de DLL Shlwapi.dll (versão 6.0.1 ou posterior)