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_CODE、CONTENT_LENGTHなど)
アプリケーションでデータを文字列以外のデータ型として返す必要がある場合は、 dwInfoLevel に渡される属性を持つ適切な修飾子を含める必要があります。
HttpQueryInfo 関数は、ISO-8859-1 文字 (HttpQueryInfoA 関数) の場合は Microsoft Internet エクスプローラー 3.0、ISO-8859-1 文字 (HttpQueryInfoA 関数) の場合はインターネット エクスプローラー 4.0 以降、UTF-16LE 文字に変換された ISO-8859-1 文字では使用できます。(HttpQueryInfoW 関数)。
WinINet API の他のすべての側面と同様に、この関数を DllMain またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。
注意
wininet.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして HttpQueryInfo を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wininet.h |
Library | Wininet.lib |
[DLL] | Wininet.dll |