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 標頭會根據 UNICODE 預處理器常數的定義,將 CreateUrlCacheEntry 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | wininet.h |
連結庫 | Wininet.lib |
DLL | Wininet.dll |