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 |