Bagikan melalui


Fungsi RetrieveUrlCacheEntryStreamA (wininet.h)

Menyediakan cara yang paling efisien dan independen implementasi untuk mengakses data cache.

Sintaksis

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

Parameter

[in] lpszUrlName

Penunjuk ke string null-terminated yang berisi nama sumber entri cache. Ini harus berupa nama yang unik. String nama tidak boleh berisi karakter escape apa pun.

[out] lpCacheEntryInfo

Penunjuk ke struktur INTERNET_CACHE_ENTRY_INFO yang menerima informasi tentang entri cache.

[in, out] lpcbCacheEntryInfo

Pointer ke variabel yang menentukan ukuran, dalam byte, dari lpCacheEntryInfo buffer. Ketika fungsi kembali, variabel menerima jumlah byte yang disalin ke buffer atau ukuran yang diperlukan, dalam byte, dari buffer. Perhatikan bahwa ukuran buffer ini harus mengakomodasi struktur INTERNET_CACHE_ENTRY_INFO dan string terkait yang disimpan segera setelahnya.

[in] fRandomRead

Apakah aliran terbuka untuk akses acak. Atur bendera ke TRUE untuk membuka aliran untuk akses acak.

[in] dwReserved

Parameter ini dicadangkan dan harus 0.

Mengembalikan nilai

Jika fungsi berhasil, fungsi mengembalikan handel yang valid untuk digunakan dalam ReadUrlCacheEntryStream dan fungsi UnlockUrlCacheEntryStream.

Jika fungsi gagal, fungsi akan mengembalikan NULL. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.

Kemungkinan nilai kesalahan termasuk yang berikut ini.

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

Komentar

RetrieveUrlCacheEntryStream 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 mengembalikan ERROR_FILE_NOT_FOUND meskipun http://adatum.com/example.htm ada di cache.

Klien cache yang tidak memerlukan data URL dalam bentuk file harus menggunakan fungsi ini untuk mengakses data untuk URL tertentu.

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 RetrieveUrlCacheEntryStream sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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