Partager via


HttpQueryInfoA, fonction (wininet.h)

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

Syntaxe

BOOL HttpQueryInfoA(
  [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 Fonction 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 la fin de la chaîne caractère null.

Quand la fonction
échoue avec un code d’erreur étendu de ERROR_INSUFFICIENT_BUFFER, la variable pointée par lpdwBufferLength contient 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 est retournée, 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 de retour

Retourne TRUE en cas de réussite ou FALSE sinon. Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Remarques

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

  • Chaînes (valeur 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 en tant que 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.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. (la fonction httpQueryInfoW ).

Remarque La fonction HttpQueryInfoA représente les en-têtes en tant que caractères ISO-8859-1 et non ansI. La fonction HttpQueryInfoW représente les en-têtes en tant que 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 les caractères ANSI et UTF-16LE.
 
Consultez Récupération des 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.

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

Note

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. Le mélange 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête wininet.h
bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

sessions HTTP

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

fonctions WinINet