Bagikan melalui


FLT_PARAMETERS untuk serikat IRP_MJ_READ

Komponen penyatuan berikut digunakan ketika bidang MajorFunction dari struktur FLT_IO_PARAMETER_BLOCK untuk operasi IRP_MJ_READ.

Sintaks

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    ULONG                   Length;
    ULONG POINTER_ALIGNMENT Key;
    LARGE_INTEGER           ByteOffset;
    PVOID                   ReadBuffer;
    PMDL                    MdlAddress;
  } Read;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Anggota

  • Baca: Struktur yang berisi anggota berikut.

  • Panjang: Panjang, dalam byte, dari data yang akan dibaca.

  • Kunci: Nilai kunci yang terkait dengan kunci rentang byte pada file target.

  • ByteOffset: Memulai offset byte dalam file data yang akan dibaca.

  • ReadBuffer: Penunjuk ke buffer yang menerima data yang dibaca dari file. Anggota ini bersifat opsional dan dapat berupa NULL jika MDL disediakan di MdlAddress. Lihat Keterangan.

  • MdlAddress: Alamat daftar deskriptor memori (MDL) yang menjelaskan buffer yang ditunjuk anggota ReadBuffer . Anggota ini bersifat opsional dan dapat berupa NULL jika buffer disediakan di ReadBuffer. Lihat Keterangan.

Keterangan

Struktur FLT_PARAMETERS untuk operasi IRP_MJ_READ berisi parameter untuk operasi baca yang diwakili oleh struktur data panggilan balik (FLT_CALLBACK_DATA). Ini terkandung dalam struktur FLT_IO_PARAMETER_BLOCK.

Jika buffer ReadBuffer dan MdlAddress disediakan, disarankan agar minifilter menggunakan MDL. Memori yang dituju ReadBuffer valid ketika merupakan alamat mode pengguna yang diakses dalam konteks proses panggilan, atau jika itu adalah alamat mode kernel.

Jika minifilter mengubah nilai MdlAddress, maka setelah panggilan balik operasi pasca operasinya, Filter Manager akan membebaskan MDL yang saat ini disimpan di MdlAddress dan memulihkan nilai MdlAddress sebelumnya.

Jika bit IRP_MN_COMPLETE diatur dalam Iopb-MinorFunction>, maka MdlAddress adalah alamat untuk dikirim ke CcMdlReadComplete.

Jika bit IRP_MN_MDL (dan bukan bit IRP_MN_COMPLETE) diatur dalam Iopb-MinorFunction>, maka MdlAddress adalah alamat untuk dikirim ke CcMdlRead.

IRP_MJ_READ dapat menjadi operasi berbasis IRP atau operasi I/O yang cepat.

Persyaratan

Jenis persyaratan Persyaratan
Header Fltkernel.h (termasuk Fltkernel.h)

Lihat juga

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FltReadFile

IRP_MJ_READ

ZwReadFile