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
以零起始之標頭索引的指標,用來列舉具有相同名稱的多個標頭。 呼叫 函式時,此參數是要傳回之指定標頭的索引。 當函式傳回時,此參數是下一個標頭的索引。 如果找不到下一個索引,則會傳回 ERROR_HTTP_HEADER_NOT_FOUND 。
傳回值
如果成功,則傳回 TRUE ,否則傳回 FALSE 。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
您可以從 HttpQueryInfo 擷取下列資料類型:
- 字串 (預設)
- 日期) 的 SYSTEMTIME (
- STATUS_CODE、CONTENT_LENGTH等的 DWORD (,如果使用HTTP_QUERY_FLAG_NUMBER)
如果您的應用程式要求將數據傳回為字串以外的數據類型,您必須將適當的修飾詞包含在傳遞至 dwInfoLevel 的屬性中。
Microsoft Internet Explorer 3.0 中提供 HttpQueryInfo 函式,適用於 ISO-8859-1 字元, (HttpQueryInfoA 函式) 和 Internet Explorer 4.0 或更新版本 中適用於 ISO-885 (HttpQueryInfoA 函式) 和轉換成 UTF-16LE 字元的 ISO-8859-1 字元, (HttpQueryInfoW 函式) 的 9-1 個字元。
就像 WinINet API 所有其他層面一樣,您無法從 DllMain 或全域物件的建構函式和解構函式安全地呼叫此函式。
注意
wininet.h 標頭會將 HttpQueryInfo 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wininet.h |
程式庫 | Wininet.lib |
Dll | Wininet.dll |