Bagikan melalui


Fungsi FltFastIoMdlRead (fltkernel.h)

Rutinitas FltFastIoMdlRead mengembalikan daftar deskriptor memori (MDL) yang menunjuk langsung ke rentang byte yang ditentukan dalam cache file.

Sintaks

BOOLEAN FLTAPI FltFastIoMdlRead(
        PFLT_INSTANCE    InitiatingInstance,
  [in]  PFILE_OBJECT     FileObject,
  [in]  PLARGE_INTEGER   FileOffset,
  [in]  ULONG            Length,
  [in]  ULONG            LockKey,
  [out] PMDL             *MdlChain,
  [out] PIO_STATUS_BLOCK IoStatus
);

Parameter

InitiatingInstance

Penunjuk instans buram untuk pemanggil. Parameter ini diperlukan dan tidak boleh NULL.

[in] FileObject

Penunjuk ke objek file untuk file yang di-cache.

[in] FileOffset

Penunjuk ke variabel yang menentukan offset byte awal dalam file cache yang menyimpan data.

[in] Length

Panjang byte data yang akan dibaca dari cache.

[in] LockKey

Nilai yang terkait dengan rentang byte untuk dikunci. Jika rentang untuk mengunci tumpang tindih dengan rentang lain yang sudah dikunci dengan kunci tidak termasuk, atau jika rentang yang akan dibaca adalah subrange dari rentang lain yang sudah dikunci secara non-eksklusif, nilai dalam parameter ini harus menjadi kunci untuk kunci yang tidak termasuk Kunci harus dipegang oleh proses induk utas panggilan. Jika tidak, parameter ini tidak berpengaruh.

[out] MdlChain

Pada output, penunjuk ke daftar daftar deskriptor memori (MDL) yang ditautkan.

[out] IoStatus

Penunjuk ke struktur IO_STATUS_BLOCK yang, pada output, berisi status transfer. Jika operasi berhasil, IoStatus.Status diatur ke STATUS_SUCCESS. Jika tidak, ini diatur ke kode kesalahan NTSTATUS yang sesuai. IoStatus.Information diatur ke jumlah byte aktual yang berhasil dikunci rutinitas.

Nilai kembali

Rutinitas FltFastIoMdlRead mengembalikan TRUE jika operasi berhasil dan FALSE jika operasi gagal.

Keterangan

FltFastIoMdlRead rutin melewati mekanisme IRP yang biasa dan mengembalikan daftar tertaut daftar deskriptor memori (MDL) yang dapat digunakan pemanggil untuk langsung mengakses data file yang di-cache. Operasi ini tidak menyalin atau menyangga data dan oleh karena itu jauh lebih cepat daripada bacaan normal.

Rutinitasnya mirip dengan CcMdlRead dan FsRtlMdlReadDev. FltFastIoMdlRead, CcMdlRead, dan FsRtlMdlReadDev mengunci halaman yang berisi data file yang di-cache untuk mencegah sistem menukar halaman ini ke file halaman. Halaman tetap terkunci dalam memori sampai pemanggil memanggil rutinitas FltFastIoMdlReadComplete .

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header fltkernel.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Lihat juga

CcMdlRead

FltFastIoMdlReadComplete

FsRtlMdlReadDev