Bagikan melalui


FLT_PARAMETERS untuk serikat IRP_MJ_WRITE

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

Sintaks

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

Anggota

  • Tulis: Struktur yang berisi anggota berikut.

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

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

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

  • WriteBuffer: Penunjuk ke buffer yang berisi data yang akan ditulis ke 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 WriteBuffer . Anggota ini bersifat opsional dan dapat berupa NULL jika buffer disediakan di WriteBuffer. Lihat Keterangan.

Keterangan

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

Jika buffer WriteBuffer dan MdlAddress disediakan, disarankan agar minifilter menggunakan MDL. Memori yang dituju WriteBuffer 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 CcPrepareMdlWrite.

IRP_MJ_WRITE 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

FltWriteFile

IRP_MJ_WRITE

ZwWriteFile