Partager via


Fonction HttpQueryInfoW (wininet.h)

Récupère les informations d’en-tête associées à une requête HTTP.

Syntaxe

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

Paramètres

[in] hRequest

Handle retourné par un appel à la fonction HttpOpenRequest ou InternetOpenUrl .

[in] dwInfoLevel

Combinaison d’un attribut à récupérer et d’indicateurs qui modifient la requête. Pour obtenir la liste des valeurs d’attribut et de modificateur possibles, consultez Indicateurs d’informations de requête.

[in, out] lpBuffer

Pointeur vers une mémoire tampon pour recevoir les informations demandées. Ce paramètre ne doit pas être NULL.

[in, out] lpdwBufferLength

Pointeur vers une variable qui contient, lors de l’entrée, la taille en octets de la mémoire tampon pointée par lpvBuffer.

Lorsque la fonction retourne correctement, cette variable contient le nombre d’octets d’informations écrites dans la mémoire tampon. Dans le cas d’une chaîne, le nombre d’octets n’inclut pas le caractère null de fin de la chaîne.

Quand la fonction
échoue avec un code d’erreur étendu de ERROR_INSUFFICIENT_BUFFER, la variable pointée par lpdwBufferLength contient à la sortie la taille, en octets, d’une mémoire tampon suffisamment grande pour recevoir les informations demandées. L’application appelante peut ensuite allouer une mémoire tampon de cette taille ou plus grande, puis appeler à nouveau la fonction.

[in, out] lpdwIndex

Pointeur vers un index d’en-tête de base zéro utilisé pour énumérer plusieurs en-têtes portant le même nom. Lors de l’appel de la fonction, ce paramètre est l’index de l’en-tête spécifié à retourner. Lorsque la fonction retourne, ce paramètre est l’index de l’en-tête suivant. Si l’index suivant est introuvable, ERROR_HTTP_HEADER_NOT_FOUND est retourné.

Valeur retournée

Retourne TRUE en cas de réussite, ou FALSE dans le cas contraire. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Vous pouvez récupérer les types de données suivants à partir de HttpQueryInfo :

  • Chaînes (par défaut)
  • SYSTEMTIME (pour les dates)
  • DWORD (pour STATUS_CODE, CONTENT_LENGTH, et ainsi de suite, si HTTP_QUERY_FLAG_NUMBER a été utilisé)

Si votre application exige que les données soient retournées sous la forme d’un type de données autre qu’une chaîne, vous devez inclure le modificateur approprié avec l’attribut passé à dwInfoLevel.

La fonction HttpQueryInfo est disponible dans Microsoft Internet Explorer 3.0 pour les caractères ISO-8859-1 (fonction HttpQueryInfoA) et dans Internet Explorer 4.0 ou version ultérieure pour les caractères ISO-8859-1 (fonction HttpQueryInfoA) et pour les caractères ISO-8859-1 convertis en caractères UTF-16LE. fonction HttpQueryInfoW).

Note La fonction HttpQueryInfoA représente les en-têtes sous forme de caractères ISO-8859-1 et non de caractères ANSI. La fonction HttpQueryInfoW représente les en-têtes sous forme de caractères ISO-8859-1 convertis en caractères UTF-16LE. Par conséquent, il n’est jamais sûr d’utiliser la fonction HttpQueryInfoW lorsque les en-têtes peuvent contenir des caractères non ASCII. Au lieu de cela, une application peut utiliser les fonctions MultiByteToWideChar et WideCharToMultiByte avec un paramètre Codepage défini sur 28591 pour mapper entre les caractères ANSI et les caractères UTF-16LE.
 
Consultez Récupération d’en-têtes HTTP pour obtenir un exemple de code appelant la fonction HttpQueryInfo .

Comme tous les autres aspects de l’API WinINet, cette fonction ne peut pas être appelée en toute sécurité à partir de DllMain ou des constructeurs et destructeurs d’objets globaux.

Note WinINet ne prend pas en charge les implémentations de serveur. En outre, il ne doit pas être utilisé à partir d’un service. Pour les implémentations de serveur ou les services, utilisez Microsoft Windows HTTP Services (WinHTTP).
 

Notes

L’en-tête wininet.h définit HttpQueryInfo comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wininet.h
Bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

HTTP Sessions

Récupération des en-têtes HTTP

Fonctions WinINet