HttpAddFragmentToCache 函式 (http.h)
HttpAddFragmentToCache 函式會快取具有指定名稱的數據片段,以便擷取數據片段,或更新在指定名稱下快取的數據。 這類快取的數據片段可以重複用來建構動態回應,而不需要磁碟讀取費用。 例如,由文字和三個影像組成的回應,可以在處理要求時,動態地從四個或多個快取片段組合。
語法
HTTPAPI_LINKAGE ULONG HttpAddFragmentToCache(
[in] HANDLE RequestQueueHandle,
[in] PCWSTR UrlPrefix,
[in] PHTTP_DATA_CHUNK DataChunk,
[in] PHTTP_CACHE_POLICY CachePolicy,
[in, optional] LPOVERLAPPED Overlapped
);
參數
[in] RequestQueueHandle
處理與此快取相關聯的要求佇列。 系統會建立要求佇列,並透過呼叫 HttpCreateRequestQueue 函式所傳回的句柄。
Windows Server 2003 SP1 和 Windows XP SP2: 要求佇列的句柄是由 HttpCreateHttpHandle 函式所建立。
[in] UrlPrefix
應用程式後續對 HttpSendHttpResponse 的呼叫中使用的 UrlPrefix 字串指標,以識別此快取專案。 應用程式先前必須呼叫 HttpAddUrl ,其句柄與 ReqQueueHandle 參數相同,而且具有這個相同的 UrlPrefix 字串或它的有效前置詞。
如同任何 UrlPrefix,此字串的格式必須是 “scheme://host:port/relativeURI”;例如, http://www.mysite.com:80/image1.gif
。
[in] DataChunk
HTTP_DATA_CHUNK 結構的指標,指定要在 pUrlPrefix 所指向的名稱下快取的實體主體數據區塊。
[in] CachePolicy
HTTP_CACHE_POLICY結構的指標,指定應該如何快取此數據片段。
[in, optional] Overlapped
針對異步呼叫,請將 pOverlapped 設定為指向 重疊 結構,或針對同步呼叫,將它設定為 NULL。
同步呼叫會封鎖呼叫線程,直到快取作業完成為止,而異步呼叫會立即傳回ERROR_IO_PENDING,而呼叫應用程式接著會使用 GetOverlappedResult 或 I/O 完成埠來判斷作業何時完成。 如需使用 OVERLAPPED 結構進行同步處理的詳細資訊,請參閱 同步處理和重疊的輸入和輸出。
傳回值
如果函式成功,傳回值會NO_ERROR。
如果函式以異步方式使用,ERROR_IO_PENDING傳回值表示快取要求已排入佇列,且稍後會透過一般重疊的 I/O 完成機制完成。
如果函式失敗,傳回值就是下列其中一個錯誤碼。
值 | 意義 |
---|---|
|
一或多個提供的參數格式為無法使用。 |
|
WinError.h 中定義的 系統錯誤碼 。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista、Windows XP 與 SP2 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | http.h |
程式庫 | Httpapi.lib |
Dll | Httpapi.dll |