Compartilhar via


Função InternetCrackUrlA (wininet.h)

Quebra uma URL em suas partes componentes.

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 ser um dos valores a seguir.

Valor Significado
ICU_DECODE
Converte caracteres codificados novamente em seu formulário 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 de URL_COMPONENTS que recebe os componentes de URL.

Valor de retorno

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

Observações

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 não for 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 InternetCrackUrl funcionem corretamente, o tamanho da estrutura de URL_COMPONENTS, em bytes, deve ser armazenado no membro dwStructSize.

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

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

Observaçã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 ou serviços de servidor, use do Microsoft Windows HTTP Services (WinHTTP).
 

Nota

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 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 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho wininet.h
biblioteca Wininet.lib
de DLL Wininet.dll

Consulte também

FtpOpenFile

tratando de recursos uniformes

InternetCloseHandle

InternetFindNextFile

InternetSetStatusCallback

do WinINet Functions