Função InternetCrackUrlA (wininet.h)

Quebra uma URL em suas partes de componente.

Sintaxe

BOOL InternetCrackUrlA(
  [in]      LPCSTR            lpszUrl,
  [in]      DWORD             dwUrlLength,
  [in]      DWORD             dwFlags,
  [in, out] LPURL_COMPONENTSA lpUrlComponents
);

Parâmetros

[in] lpszUrl

Ponteiro para uma cadeia de caracteres que contém a URL canônica a ser rachada.

[in] dwUrlLength

Tamanho da cadeia de caracteres lpszUrl , em TCHARs ou zero se lpszUrl for uma cadeia de caracteres ASCIIZ.

[in] dwFlags

Controla a operação. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
ICU_DECODE
Converte caracteres codificados de volta em sua forma normal. Isso só poderá ser usado se o usuário fornecer buffers na estrutura URL_COMPONENTS para copiar os componentes.
ICU_ESCAPE
Converte todas as sequências de escape (%xx) em seus caracteres correspondentes. Isso só poderá ser usado se o usuário fornecer buffers na estrutura URL_COMPONENTS para copiar os componentes.

[in, out] lpUrlComponents

Ponteiro para uma estrutura URL_COMPONENTS que recebe os componentes de URL.

Retornar valor

Retornará TRUE se a função for bem-sucedida ou FALSE caso contrário. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Os componentes necessários são indicados por membros da estrutura URL_COMPONENTS . Cada componente tem um ponteiro para o valor e tem um membro que armazena o comprimento do valor armazenado. Se o valor e o comprimento de um componente forem iguais a zero, esse componente não será retornado. Windows Vista e posterior.: Se o ponteiro para o valor do componente for NULL e o valor de seu membro de comprimento correspondente for diferente de zero, o endereço do primeiro caractere do componente correspondente na cadeia de caracteres lpszUrl será armazenado no ponteiro e o comprimento do componente será armazenado no membro de comprimento.

Se o ponteiro contiver o endereço do buffer fornecido pelo usuário, o membro de comprimento deverá conter o tamanho do buffer. InternetCrackUrl copia o componente para o buffer e o membro de comprimento é definido como o comprimento do componente copiado, menos 1 para o terminador de cadeia de caracteres à direita.

Para que o InternetCrackUrl funcione corretamente, o tamanho da estrutura URL_COMPONENTS , em bytes, deve ser armazenado no membro dwStructSize .

Nota Não use InternetCrackUrl em URLs "file://" que contenham espaços, pois o valor retornado no membro dwUrlPathLength da estrutura URL_COMPONENTS apontada por lpUrlComponents é muito grande. No entanto, esse é apenas o caso com URLs "file://" que contêm caracteres de espaço.

Como todos os outros aspectos da API WinINet, essa função não pode ser chamada com segurança de dentro de DllMain ou dos construtores e destruidores de objetos globais.

Nota O WinINet não dá suporte a implementações de servidor. Além disso, ele não deve ser usado de um serviço. Para implementações de servidor ou serviços, use Os Serviços HTTP do Microsoft Windows (WinHTTP).
 

Observação

O cabeçalho wininet.h define InternetCrackUrl 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

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wininet.h
Biblioteca Wininet.lib
DLL Wininet.dll

Confira também

FtpOpenFile

Manipulando localizadores de recursos uniformes

InternetCloseHandle

InternetFindNextFile

InternetSetStatusCallback

Funções WinINet