Fungsi RetrieveUrlCacheEntryFileA (wininet.h)

Mengunci file entri cache yang terkait dengan URL yang ditentukan.

Sintaksis

BOOL RetrieveUrlCacheEntryFileA(
  [in]      LPCSTR                       lpszUrlName,
  [out]     LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
  [in, out] LPDWORD                      lpcbCacheEntryInfo,
  [in]      DWORD                        dwReserved
);

Parameter

[in] lpszUrlName

Penunjuk ke string yang berisi URL sumber daya yang terkait dengan entri cache. Ini harus berupa nama yang unik. String nama tidak boleh berisi karakter escape apa pun.

[out] lpCacheEntryInfo

Penunjuk ke buffer informasi entri cache. Jika buffer tidak cukup, fungsi ini mengembalikan ERROR_INSUFFICIENT_BUFFER dan mengatur lpdwCacheEntryInfoBufferSize ke jumlah byte yang diperlukan.

[in, out] lpcbCacheEntryInfo

Pointer ke variabel bilangan buffer panjang yang tidak ditandatangani yang menentukan ukuran lpCacheEntryInfo buffer, dalam byte. Ketika fungsi kembali, variabel berisi ukuran, dalam byte, dari buffer aktual yang digunakan atau jumlah byte yang diperlukan untuk mengambil file entri cache. Pemanggil harus memeriksa nilai pengembalian dalam parameter ini. Jika ukuran pengembalian kurang dari atau sama dengan ukuran yang diteruskan, semua data yang relevan telah dikembalikan.

[in] dwReserved

Parameter ini dicadangkan dan harus 0.

Mengembalikan nilai

Mengembalikan TRUE jika berhasil, atau FALSE sebaliknya. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError. Kemungkinan nilai kesalahan meliputi:

Mengembalikan kode Deskripsi
ERROR_FILE_NOT_FOUND
Entri cache yang ditentukan oleh nama sumber tidak ditemukan di penyimpanan cache.
ERROR_INSUFFICIENT_BUFFER
Ukuran buffer lpCacheEntryInfo seperti yang ditentukan oleh lpdwCacheEntryInfoBufferSize tidak cukup untuk berisi semua informasi. Nilai yang dikembalikan dalam lpdwCacheEntryInfoBufferSize menunjukkan ukuran buffer yang diperlukan untuk mendapatkan semua informasi.

Komentar

RetrieveUrlCacheEntryFile tidak melakukan penguraian URL apa pun, sehingga URL yang berisi jangkar (#) tidak akan ditemukan di cache, bahkan jika sumber daya di-cache. Misalnya, jika URL http://adatum.com/example.htm#sample diteruskan, fungsi akan mengembalikan ERROR_FILE_NOT_FOUND meskipun http://adatum.com/example.htm berada di cache.

File dikunci untuk penelepon ketika diambil; pemanggil harus membuka kunci file setelah pemanggil selesai dengan file. Manajer cache secara otomatis membuka kunci file setelah interval tertentu. Saat file dikunci, manajer cache tidak akan menghapus file dari cache. Penting untuk dicatat bahwa fungsi ini mungkin atau mungkin tidak berkinerja efisien, tergantung pada implementasi internal cache. Misalnya, jika data URL disimpan dalam file kemasan yang berisi data untuk URL lain, cache akan membuat salinan data ke file di direktori sementara yang dikelola oleh cache. Cache pada akhirnya akan menghapus salinan. Disarankan agar fungsi ini hanya digunakan dalam situasi di mana nama file diperlukan untuk meluncurkan aplikasi. RetrieveUrlCacheEntryStream dan fungsi aliran terkait harus digunakan dalam banyak kasus.

Seperti semua aspek lain dari API WinINet, fungsi ini tidak dapat dipanggil dengan aman dari dalam DllMain atau konstruktor dan destruktor objek global.

Note WinINet tidak mendukung implementasi server. Selain itu, tidak boleh digunakan dari layanan. Untuk implementasi atau layanan server, gunakan Microsoft Windows HTTP Services (WinHTTP).
 

Nota

Header wininet.h mendefinisikan RetrieveUrlCacheEntryFile sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Platform Target Windows
Header wininet.h
Pustaka Wininet.lib
DLL Wininet.dll

Lihat juga

penembolokan

Fungsi WinINet