CommitUrlCacheEntryA 函式 (wininet.h)
將資料儲存在網際網路快取中指定的檔案中,並將它與指定的 URL 產生關聯。
語法
BOOL CommitUrlCacheEntryA(
[in] LPCSTR lpszUrlName,
[in] LPCSTR lpszLocalFileName,
[in] FILETIME ExpireTime,
[in] FILETIME LastModifiedTime,
[in] DWORD CacheEntryType,
[in] LPBYTE lpHeaderInfo,
[in] DWORD cchHeaderInfo,
[in] LPCSTR lpszFileExtension,
[in] LPCSTR lpszOriginalUrl
);
參數
[in] lpszUrlName
字串變數的指標,其中包含快取專案的來源名稱。 名稱字串必須是唯一的,且不應包含任何逸出字元。
[in] lpszLocalFileName
字串變數的指標,其中包含要快取之本機檔案的名稱。 這應該與 CreateUrlCacheEntryA傳回的名稱相同。
[in] ExpireTime
FILETIME 結構,其中包含 Greenwich 中到期日期和時間 (,表示要快取之檔案) 的時間。 如果到期日期和時間未知,請將此參數設定為零。
[in] LastModifiedTime
FILETIME 結構,其中包含 Greenwich 中上次修改的日期和時間 (,表示所快取 URL 的時間) 。 如果上次修改的日期和時間未知,請將此參數設定為零。
[in] CacheEntryType
位元遮罩,表示快取專案的類型及其屬性。 快取專案類型包括:記錄專案 (URLHISTORY_CACHE_ENTRY) 、cookie 專案 (COOKIE_CACHE_ENTRY) ,以及一般快取的內容 (NORMAL_CACHE_ENTRY) 。
此參數可以是下列屬性旗標的零或多個,以及下面所列的快取類型旗標。
值 | 意義 |
---|---|
|
Cookie 快取項目。 |
|
已在外部編輯的快取專案檔案。 此快取專案類型不受清除限制。 |
|
一般快取項目;可以進行刪除來為新項目復原空間。 |
|
部分回應快取項目。 |
|
黏性快取項目;豁免於清除。 |
|
目前未實作。 |
|
目前未實作。 |
|
已瀏覽過的連結快取項目。 |
[in] lpHeaderInfo
包含標頭資訊的緩衝區指標。 如果這個參數不是Null,標頭資訊會被視為在 INTERNET_CACHE_ENTRY_INFO結構的lpHeaderInfo成員中傳回之 URL 的擴充屬性。
[in] cchHeaderInfo
標頭資訊的大小,以 TCHAR為單位。 如果 lpHeaderInfo 不是 Null,則會假設此值表示儲存標頭資訊的緩衝區大小。 應用程式可以維護標頭作為資料的一部分,並提供cchHeaderInfo與lpHeaderInfo的Null值。
[in] lpszFileExtension
此參數是保留的,而且必須是 Null。
[in] lpszOriginalUrl
如果發生重新導向,則為包含原始 URL 的字串指標。
傳回值
如果成功,則傳回 TRUE ,否則傳回 FALSE 。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。 以下是可能的錯誤值。
傳回碼 | 描述 |
---|---|
|
快取儲存體已滿。 |
|
找不到指定的本機檔案。 |
備註
STICKY_CACHE_ENTRY類型是用來讓快取專案免于清除。 使用 CommitUrlCacheEntryA 設定之專案的預設豁免時間是十分鐘。 您可以藉由在呼叫 SetUrlCacheEntryInfo函式的INTERNET_CACHE_ENTRY_INFO結構中設定到期時間參數來變更豁免時間。
如果快取儲存體已滿, CommitUrlCacheEntryA 會叫用快取清除,讓這個新檔案有空間。 如果快取專案已經存在,則函式會在未使用中時覆寫專案。 使用 RetrieveUrlCacheEntryStream 或 RetrieveUrlCacheEntryFile擷取專案時,就會使用該專案。
將專案新增至快取的用戶端應該至少將標頭設定為 「HTTP/1.0 200 OK\r\n\r\n」;否則,Microsoft Internet Explorer 和其他用戶端應用程式應該忽略該專案。
如需呼叫CreateUrlCacheEntryA 的範例程式碼,請參閱快取。
就像 WinINet API 所有其他層面一樣,您無法從 DllMain 或全域物件的建構函式和解構函式安全地呼叫此函式。
注意
wininet.h 標頭會將 CommitUrlCacheEntry 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wininet.h |
程式庫 | Wininet.lib |
Dll | Wininet.dll |