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 |
---|---|
|
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. |
|
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.
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 |