次の方法で共有


HttpQueryInfoA 関数 (wininet.h)

HTTP 要求に関連付けられているヘッダー情報を取得します。

構文

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

パラメーター

[in] hRequest

HttpOpenRequest または InternetOpenUrl 関数の呼び出しによって返 ハンドル。

[in] dwInfoLevel

取得する属性と要求を変更するフラグの組み合わせ。 使用可能な属性と修飾子の値の一覧については、「クエリ情報フラグのを参照してください。

[in, out] lpBuffer

要求された情報を受信するバッファーへのポインター。 このパラメーターは NULLすることはできません。

[in, out] lpdwBufferLength

lpvBufferによって指されるバッファーのサイズ (バイト単位) を含む変数 ポインター。

関数が正常に返されると、この変数にはバッファーに書き込まれた情報のバイト数が含まれます。 文字列の場合、バイト数には、文字列の終端 null 文字は含まれません。

関数が
ERROR_INSUFFICIENT_BUFFERの拡張エラー コードで失敗します。lpdwBufferLength が指す変数 、要求された情報を受信するのに十分な大きさのバッファーのサイズ (バイト単位) が格納されます。 呼び出し元のアプリケーションは、このサイズ以上のバッファーを割り当ててから、関数を再度呼び出すことができます。

[in, out] lpdwIndex

同じ名前の複数のヘッダーを列挙するために使用される、0 から始まるヘッダー インデックスへのポインター。 関数を呼び出すとき、このパラメーターは、返される指定されたヘッダーのインデックスです。 関数から制御が戻るときに、このパラメーターは次のヘッダーのインデックスです。 次のインデックスが見つからない場合は、ERROR_HTTP_HEADER_NOT_FOUND が返されます。

戻り値

成功した場合 TRUE を返し、それ以外の場合は FALSE 返します。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

HttpQueryInfoから次の種類のデータ 取得できます。

  • 文字列 (既定値)
  • SYSTEMTIME (日付の場合)
  • DWORD (HTTP_QUERY_FLAG_NUMBER が使用されている場合は、STATUS_CODECONTENT_LENGTHなど)

アプリケーションでデータを文字列以外のデータ型として返す必要がある場合は、dwInfoLevelに渡される属性を持つ適切な修飾子 含める必要があります。

HttpQueryInfo 関数は、Microsoft Internet Explorer 3.0 で ISO-8859-1 文字 (HttpQueryInfoA 関数) と Internet Explorer 4.0 で使用できます。 ISO-8859-1 文字 (HttpQueryInfoA 関数) および UTF-16LE 文字に変換された ISO-8859-1 文字の場合は 0 以降。(HttpQueryInfoW 関数)。

HttpQueryInfoA 関数は、ヘッダーを ANSI 文字ではなく ISO-8859-1 文字として表します。 HttpQueryInfoW 関数は、UTF-16LE 文字に変換された ISO-8859-1 文字としてヘッダーを表します。 その結果、ヘッダーに非 ASCII 文字を含めることができる場合、HttpQueryInfoW 関数を使用しても安全ではありません。 代わりに、アプリケーションは multiByteToWideChar を使用し、Codepage パラメーターを 28591 に設定して WideCharToMultiByte 関数を して、ANSI 文字と UTF-16LE 文字の間でマップできます。
 
HttpQueryInfo 関数を呼び出すコード例については、「HTTP ヘッダー の取得」を参照してください。

WinINet API の他のすべての側面と同様に、この関数は DllMain またはグローバル オブジェクトのコンストラクターとデストラクターから安全に呼び出すことはできません。

注意 WinINet では、サーバーの実装はサポートされていません。 また、サービスから使用しないでください。 サーバーの実装またはサービスの場合は、Microsoft Windows HTTP Services (WinHTTP)を使用します。
 

手記

wininet.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして HttpQueryInfo を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wininet.h
ライブラリ Wininet.lib
DLL Wininet.dll

関連項目

HTTP セッション

HTTP ヘッダー の取得の

WinINet Functions の