CreateUrlCacheEntryA 函式 (wininet.h)
建立本機檔名,以根據指定的URL和擴展名儲存快取專案。
語法
BOOL CreateUrlCacheEntryA(
[in] LPCSTR lpszUrlName,
[in] DWORD dwExpectedFileSize,
[in] LPCSTR lpszFileExtension,
[out] LPSTR lpszFileName,
[in] DWORD dwReserved
);
參數
[in] lpszUrlName
字串值的指標,其中包含URL的名稱。 字串必須包含值;空字串會導致 CreateUrlCacheEntry 失敗。 此外,字串不得包含任何逸出字元。
[in] dwExpectedFileSize
在 TCHAR 中儲存對應至來源實體之數據所需的檔案大小預期大小。 如果預期的大小未知,請將此值設定為零。
[in] lpszFileExtension
字串值的指標,其中包含本機記憶體中檔案的擴展名名稱。
[out] lpszFileName
接收檔名的緩衝區指標。 緩衝區應該夠大,以儲存所建立檔案的路徑, (長度至少MAX_PATH字元) 。
[in] dwReserved
此參數是保留的,而且必須是 0。
傳回值
如果函式成功,函式會傳回 TRUE。
如果函式失敗,則會傳回 FALSE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
呼叫 CreateUrlCacheEntry 之後,應用程式就可以直接寫入本機記憶體中的檔案。 當檔案完全收到時,呼叫端應該呼叫 CommitUrlCacheEntry 來認可快取中的專案。
WinINet 會根據系統代碼頁嘗試譯碼 Unicode 參數。 應用程式應該確保 Unicode 參數已針對系統代碼頁正確編碼。 應用程式可以使用 InternetSetOption 設定系統代碼頁,如下列程式代碼範例所示:
DWORD CP_SHIFT_JIS = 932; // ANSI/OEM Japanese, Shift-JIS
InternetSetOption( hRequest,
INTERNET_OPTION_CODEPAGE,
&CP_SHIFT_JIS,
sizeof(DWORD) );
如果 Unicode 參數未正確編碼至系統代碼頁,WinINet 會嘗試 UTF8 譯碼。
從快取擷取專案時,用來將專案放在快取中的系統代碼頁必須符合使用者的目前系統代碼頁。 針對在 IE6 和更早版本下執行的應用程式,如果系統代碼頁的譯碼失敗,WinINet 會嘗試 UTF8 譯碼。
就像 WinINet API 的其他所有層面一樣,無法在 DllMain 或全域物件的建構函式和解構函式內安全地呼叫此函式。
注意
wininet.h 標頭會將 CreateUrlCacheEntry 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wininet.h |
程式庫 | Wininet.lib |
Dll | Wininet.dll |