Função HttpQueryInfoA (wininet.h)

Recupera informações de cabeçalho associadas a uma solicitação HTTP.

Sintaxe

BOOL HttpQueryInfoA(
  [in]      HINTERNET hRequest,
  [in]      DWORD     dwInfoLevel,
  [in, out] LPVOID    lpBuffer,
  [in, out] LPDWORD   lpdwBufferLength,
  [in, out] LPDWORD   lpdwIndex
);

Parâmetros

[in] hRequest

Um identificador retornado por uma chamada para a função HttpOpenRequest ou InternetOpenUrl .

[in] dwInfoLevel

Uma combinação de um atributo a ser recuperado e sinalizadores que modificam a solicitação. Para obter uma lista de possíveis valores de atributo e modificador, consulte Sinalizadores de informações de consulta.

[in, out] lpBuffer

Um ponteiro para um buffer para receber as informações solicitadas. Esse parâmetro não deve ser NULL.

[in, out] lpdwBufferLength

Um ponteiro para uma variável que contém, na entrada, o tamanho em bytes do buffer apontado por lpvBuffer.

Quando a função retorna com êxito, essa variável contém o número de bytes de informações gravadas no buffer. No caso de uma cadeia de caracteres, a contagem de bytes não inclui o caractere nulo de terminação da cadeia de caracteres.

Quando a função
falha com um código de erro estendido de ERROR_INSUFFICIENT_BUFFER, a variável apontada por lpdwBufferLength contém ao sair do tamanho, em bytes, de um buffer grande o suficiente para receber as informações solicitadas. O aplicativo de chamada pode alocar um buffer desse tamanho ou maior e chamar a função novamente.

[in, out] lpdwIndex

Um ponteiro para um índice de cabeçalho baseado em zero usado para enumerar vários cabeçalhos com o mesmo nome. Ao chamar a função , esse parâmetro é o índice do cabeçalho especificado a ser retornado. Quando a função retorna, esse parâmetro é o índice do próximo cabeçalho. Se o próximo índice não puder ser encontrado, ERROR_HTTP_HEADER_NOT_FOUND será retornado.

Retornar valor

Retornará TRUE se tiver êxito ou FALSE caso contrário. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Você pode recuperar os seguintes tipos de dados de HttpQueryInfo:

  • Cadeias de caracteres (padrão)
  • SYSTEMTIME (para datas)
  • DWORD (para STATUS_CODE, CONTENT_LENGTH e assim por diante, se HTTP_QUERY_FLAG_NUMBER tiver sido usado)

Se o aplicativo exigir que os dados sejam retornados como um tipo de dados diferente de uma cadeia de caracteres, você deverá incluir o modificador apropriado com o atributo passado para dwInfoLevel.

A função HttpQueryInfo está disponível no Microsoft Internet Explorer 3.0 para caracteres ISO-8859-1 (função HttpQueryInfoA) e na Internet Explorer 4.0 ou posterior para caracteres ISO-8859-1 (função HttpQueryInfoA) e para caracteres ISO-8859-1 convertidos em caracteres UTF-16LE.( a função HttpQueryInfoW).

Nota A função HttpQueryInfoA representa cabeçalhos como caracteres ISO-8859-1 e não caracteres ANSI. A função HttpQueryInfoW representa cabeçalhos como caracteres ISO-8859-1 convertidos em caracteres UTF-16LE. Como resultado, nunca é seguro usar a função HttpQueryInfoW quando os cabeçalhos podem conter caracteres não ASCII. Em vez disso, um aplicativo pode usar as funções MultiByteToWideChar e WideCharToMultiByte com um parâmetro Codepage definido como 28591 para mapear entre caracteres ANSI e caracteres UTF-16LE.
 
Consulte Recuperando cabeçalhos HTTP para obter um código de exemplo que chama a função HttpQueryInfo .

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

Sessões HTTP

Recuperando cabeçalhos HTTP

Funções WinINet