Bagikan melalui


Fungsi HttpReadFragmentFromCache (http.h)

Fungsi HttpReadFragmentFromCache mengambil fragmen respons yang memiliki nama tertentu dari cache HTTP Server API.

Sintaks

HTTPAPI_LINKAGE ULONG HttpReadFragmentFromCache(
  [in]  HANDLE           RequestQueueHandle,
  [in]  PCWSTR           UrlPrefix,
  [in]  PHTTP_BYTE_RANGE ByteRange,
  [out] PVOID            Buffer,
  [in]  ULONG            BufferLength,
  [out] PULONG           BytesRead,
  [in]  LPOVERLAPPED     Overlapped
);

Parameter

[in] RequestQueueHandle

Tangani ke antrean permintaan yang terkait dengan fragmen respons yang ditentukan. Antrean permintaan dibuat dan handelnya dikembalikan oleh panggilan ke fungsi HttpCreateRequestQueue .

Windows Server 2003 dengan SP1 dan Windows XP dengan SP2: Handel ke antrean permintaan dibuat oleh fungsi HttpCreateHttpHandle .

[in] UrlPrefix

Penunjuk ke string UrlPrefix yang berisi nama fragmen yang akan diambil. Ini harus cocok dengan string UrlPrefix yang digunakan dalam panggilan berhasil sebelumnya ke HttpAddFragmentToCache.

[in] ByteRange

Penunjuk opsional ke struktur HTTP_BYTE_RANGE yang menunjukkan offset awal dalam fragmen dan jumlah byte yang ditentukan untuk dikembalikan. NULL jika tidak digunakan, dalam hal ini seluruh fragmen dikembalikan.

[out] Buffer

Arahkan ke buffer tempat fungsi menyalin fragmen yang diminta.

[in] BufferLength

Ukuran, dalam byte, dari buffer pBuffer .

[out] BytesRead

Penunjuk opsional ke variabel yang menerima jumlah byte yang akan ditulis ke dalam buffer output. Jika BufferLength kurang dari nomor ini, panggilan gagal dengan pengembalian ERROR_INSUFFICIENT_BUFFER, dan nilai yang ditunjukkan oleh pBytesRead dapat digunakan untuk menentukan panjang minimum buffer yang diperlukan agar panggilan berhasil.

Saat melakukan panggilan asinkron menggunakan pOverlapped, atur pBytesRead ke NULL. Jika tidak, ketika pOverlapped diatur ke NULL, pBytesRead harus berisi alamat memori yang valid, dan tidak diatur ke NULL.

[in] Overlapped

Untuk panggilan asinkron, atur pOverlapped untuk menunjuk ke struktur TUMPANG TINDIH , atau untuk panggilan sinkron, atur ke NULL.

Panggilan sinkron memblokir hingga operasi cache selesai, sedangkan panggilan asinkron segera mengembalikan ERROR_IO_PENDING dan aplikasi panggilan kemudian menggunakan port penyelesaian GetOverlappedResult atau I/O untuk menentukan kapan operasi selesai. Untuk informasi selengkapnya tentang menggunakan struktur YANG TUMPANG TINDIH untuk sinkronisasi, lihat Sinkronisasi dan Input dan Output yang Tumpang Tindih.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan NO_ERROR.

Jika fungsi digunakan secara asinkron, nilai pengembalian ERROR_IO_PENDING menunjukkan bahwa permintaan cache diantrekan dan selesai nanti melalui mekanisme penyelesaian I/O yang tumpang tindih normal.

Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.

Nilai Makna
ERROR_INVALID_PARAMETER
Satu atau beberapa parameter yang disediakan dalam bentuk yang tidak dapat digunakan.
ERROR_MORE_DATA
Buffer yang ditujukkan oleh pBuffer terlalu kecil untuk menerima semua data yang diminta; ukuran buffer yang diperlukan ditunjukkan oleh pBytesRead kecuali null atau panggilannya asinkron. Dalam kasus panggilan asinkron, nilai yang ditunjukkan oleh parameter lpNumberOfBytesTransferred dari fungsi GetOverLappedResult diatur ke ukuran buffer yang diperlukan.
Lainnya
Kode kesalahan sistem yang ditentukan dalam WinError.h.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista, Windows XP dengan SP2 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header http.h
Pustaka Httpapi.lib
DLL Httpapi.dll

Lihat juga

Fungsi HTTP Server API Versi 1.0

HttpAddFragmentToCache

HttpFlushResponseCache