Condividi tramite


Funzione HttpQueryInfoA (wininet.h)

Recupera le informazioni di intestazione associate a una richiesta HTTP.

Sintassi

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

Parametri

[in] hRequest

Handle restituito da una chiamata alla funzione HttpOpenRequest o InternetOpenUrl .

[in] dwInfoLevel

Combinazione di un attributo da recuperare e flag che modificano la richiesta. Per un elenco dei possibili valori di attributo e modificatore, vedere Flag di informazioni sulle query.

[in, out] lpBuffer

Puntatore a un buffer per ricevere le informazioni richieste. Questo parametro non deve essere NULL.

[in, out] lpdwBufferLength

Puntatore a una variabile che contiene, alla voce, la dimensione in byte del buffer a cui punta lpvBuffer.

Quando la funzione viene restituita correttamente, questa variabile contiene il numero di byte di informazioni scritte nel buffer. Nel caso di una stringa, il conteggio dei byte non include il carattere null di terminazione della stringa.

Quando la funzione
ha esito negativo con un codice di errore esteso di ERROR_INSUFFICIENT_BUFFER, la variabile a cui punta lpdwBufferLength contiene in uscita le dimensioni, in byte, di un buffer sufficientemente grande da ricevere le informazioni richieste. L'applicazione chiamante può quindi allocare un buffer di queste dimensioni o superiore e chiamare di nuovo la funzione.

[in, out] lpdwIndex

Puntatore a un indice di intestazione in base zero usato per enumerare più intestazioni con lo stesso nome. Quando si chiama la funzione, questo parametro è l'indice dell'intestazione specificata da restituire. Quando la funzione viene restituita, questo parametro è l'indice dell'intestazione successiva. Se non è possibile trovare l'indice successivo, viene restituito ERROR_HTTP_HEADER_NOT_FOUND .

Valore restituito

Restituisce TRUE se l'operazione riesce o FALSE in caso contrario. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

È possibile recuperare i tipi di dati seguenti da HttpQueryInfo:

  • Stringhe (impostazione predefinita)
  • SYSTEMTIME (per le date)
  • DWORD (per STATUS_CODE, CONTENT_LENGTH e così via, se è stato usato HTTP_QUERY_FLAG_NUMBER )

Se l'applicazione richiede che i dati vengano restituiti come tipo di dati diversi da una stringa, è necessario includere il modificatore appropriato con l'attributo passato a dwInfoLevel.

La funzione HttpQueryInfo è disponibile in Microsoft Internet Explorer 3.0 per i caratteri ISO-8859-1 (funzione HttpQueryInfoA ) e in Internet Explorer 4.0 o versione successiva per i caratteri ISO-8859-1 (funzione HttpQueryInfoA ) e per i caratteri ISO-8859-1 convertiti in caratteri UTF-16LE. (funzione HttpQueryInfoW ).

Nota La funzione HttpQueryInfoA rappresenta le intestazioni come caratteri ISO-8859-1 non i caratteri ANSI. La funzione HttpQueryInfoW rappresenta le intestazioni come caratteri ISO-8859-1 convertiti in caratteri UTF-16LE. Di conseguenza, non è mai sicuro usare la funzione HttpQueryInfoW quando le intestazioni possono contenere caratteri non ASCII. In alternativa, un'applicazione può usare le funzioni MultiByteToWideChar e WideCharToMultiByte con un parametro Codepage impostato su 28591 per eseguire il mapping tra caratteri ANSI e caratteri UTF-16LE.
 
Vedere Recupero di intestazioni HTTP per un codice di esempio che chiama la funzione HttpQueryInfo .

Come tutti gli altri aspetti dell'API WinINet, questa funzione non può essere chiamata in modo sicuro da DllMain o dai costruttori e distruttori di oggetti globali.

Nota WinINet non supporta le implementazioni del server. Inoltre, non deve essere usato da un servizio. Per le implementazioni del server o i servizi, usare i servizi HTTP di Microsoft Windows (WinHTTP).
 

Nota

L'intestazione wininet.h definisce HttpQueryInfo come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wininet.h
Libreria Wininet.lib
DLL Wininet.dll

Vedi anche

Sessioni HTTP

Recupero di intestazioni HTTP

Funzioni WinINet