RetrieveUrlCacheEntryFileW 函式 (wininet.h)
鎖定與指定 URL 相關聯的快取專案檔案。
語法
BOOL RetrieveUrlCacheEntryFileW(
[in] LPCWSTR lpszUrlName,
[out] LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,
[in, out] LPDWORD lpcbCacheEntryInfo,
[in] DWORD dwReserved
);
參數
[in] lpszUrlName
字串的指標,其中包含與快取專案相關聯的資源 URL。 此名稱必須是唯一的。 名稱字串不應包含任何逸出字元。
[out] lpCacheEntryInfo
快取專案資訊緩衝區的指標。 如果緩衝區不足,此函式會傳回ERROR_INSUFFICIENT_BUFFER,並將 lpdwCacheEntryInfoBufferSize 設定為所需的位元組數目。
[in, out] lpcbCacheEntryInfo
以位元組為單位指定 lpCacheEntryInfo 緩衝區大小的不帶正負號長整數變數指標。 當函式傳回時,變數會包含實際緩衝區的大小,以位元組為單位,或是擷取快取專案檔案所需的位元組數目。 呼叫端應該檢查此參數中的傳回值。 如果傳回大小小於或等於傳入的大小,則已傳回所有相關資料。
[in] dwReserved
此參數是保留的,而且必須是 0。
傳回值
如果成功,則傳回 TRUE ,否則傳回 FALSE 。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。 可能的錯誤值包括:
傳回碼 | 描述 |
---|---|
|
在快取儲存體中找不到來源名稱指定的快取專案。 |
|
lpCacheEntryInfo緩衝區的大小,如lpdwCacheEntryInfoBufferSize所指定,不足以包含所有資訊。 在 lpdwCacheEntryInfoBufferSize中傳回的值會指出取得所有資訊所需的緩衝區大小。 |
備註
RetrieveUrlCacheEntryFile 不會執行任何 URL 剖析,因此即使快取資源已快取,仍不會在快取中找到包含錨點 (#) 的 URL。 例如,如果傳遞 URL http://adatum.com/example.htm#sample ,即使位於快取中,函式還是會傳回ERROR_FILE_NOT_FOUND http://adatum.com/example.htm 。
擷取檔案時,呼叫端會鎖定該檔案;呼叫端應該會在呼叫端完成檔案之後解除鎖定檔案。 快取管理員會在特定間隔後自動解除鎖定檔案。 當檔案鎖定時,快取管理員將不會從快取中移除檔案。 請務必注意,根據快取的內部實作而定,此函式可能或可能無法有效率地執行。 例如,如果 URL 資料儲存在包含其他 URL 資料的已封裝檔案中,快取會將資料複本複製到快取所維護臨時目錄中的檔案。 快取最終會刪除複本。 建議只有在需要檔案名才能啟動應用程式的情況下,才使用此函式。 擷取UrlCacheEntryStream 和相關聯的資料流程函式應該在大部分情況下使用。
就像 WinINet API 的其他所有層面一樣,無法在 DllMain 或全域物件的建構函式和解構函式內安全地呼叫此函式。
注意
wininet.h 標頭會根據 UNICODE 預處理器常數的定義,將 RetrieveUrlCacheEntryFile 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wininet.h |
程式庫 | Wininet.lib |
Dll | Wininet.dll |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應