Fungsi CcFastCopyRead (ntifs.h)

Rutinitas CcFastCopyRead melakukan pembacaan salinan cepat dari file yang di-cache ke buffer dalam memori.

Sintaks

void CcFastCopyRead(
  [in]  PFILE_OBJECT     FileObject,
  [in]  ULONG            FileOffset,
  [in]  ULONG            Length,
  [in]  ULONG            PageCount,
  [out] PVOID            Buffer,
  [out] PIO_STATUS_BLOCK IoStatus
);

Parameter

[in] FileObject

Penunjuk ke objek file untuk file yang di-cache tempat data akan dibaca.

[in] FileOffset

Memulai offset byte dalam file yang di-cache.

[in] Length

Panjang byte data yang akan dibaca.

[in] PageCount

Jumlah halaman yang diperluas oleh bacaan.

[out] Buffer

Penunjuk ke buffer tempat data akan disalin.

[out] IoStatus

Arahkan ke struktur yang menerima status penyelesaian akhir dan informasi tentang operasi. Jika tidak semua data berhasil disalin, IoStatus.Information berisi jumlah byte aktual yang disalin.

Nilai kembali

Tidak ada

Keterangan

CcFastCopyRead adalah versi CcCopyRead yang lebih cepat. Ini berbeda dari CcCopyRead dalam hal-hal berikut:

  • FileOffset adalah ULONG, bukan PLARGE_INTEGER.

  • Tidak ada parameter Tunggu . Penelepon harus dapat memasukkan status tunggu hingga semua data telah disalin.

  • CcFastCopyRead tidak mengembalikan BOOLEAN untuk menunjukkan apakah operasi baca berhasil.

FileOffset plus Panjang harus kurang dari atau sama dengan ukuran file yang di-cache, atau kegagalan pernyataan akan terjadi.

Jika terjadi kegagalan, CcFastCopyRead menimbulkan pengecualian status untuk kegagalan tertentu tersebut. Misalnya, jika kegagalan alokasi kumpulan terjadi, CcFastCopyRead menimbulkan pengecualian STATUS_INSUFFICIENT_RESOURCES; jika terjadi kesalahan I/O, CcFastCopyRead menaikkan pengecualian status kesalahan I/O. Oleh karena itu, untuk mendapatkan kontrol jika kegagalan terjadi, driver harus membungkus panggilan ke CcFastCopyRead dalam pernyataan try-except atau try-finally .

Untuk menyimpan file, gunakan CcInitializeCacheMap.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Lihat juga

CcCopyRead

CcInitializeCacheMap

CcReadAhead

CcScheduleReadAhead

CcSetAdditionalCacheAttributes

CcSetReadAheadGranularity