Bagikan melalui


FLT_PARAMETERS untuk serikat IRP_MJ_PREPARE_MDL_WRITE

Anggota serikat FLT_PARAMETERS berikut digunakan saat FLT_IO_PARAMETER_BLOCK. MajorFunction IRP_MJ_PREPARE_MDL_WRITE.

Sintaks

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    LARGE_INTEGER           FileOffset;
    ULONG POINTER_ALIGNMENT Length;
    ULONG POINTER_ALIGNMENT Key;
    PMDL                    *MdlChain;
  } PrepareMdlWrite;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Anggota

  • PrepareMdlWrite: Struktur yang berisi anggota berikut.

  • FileOffset: Memulai byte dalam file yang di-cache.

  • Panjang: Panjang, dalam byte, dari data yang akan ditulis ke file yang di-cache.

  • Kunci: Nilai kunci yang terkait dengan kunci rentang byte pada file target. Jika rentang yang akan ditulis tumpang tindih atau merupakan subrange dari rentang yang dikunci secara eksklusif dalam file, parameter ini harus menjadi kunci untuk kunci eksklusif tersebut,. Kunci eksklusif harus dipegang oleh proses induk utas panggilan; jika tidak, parameter ini diabaikan.

  • MdlChain: Penunjuk ke variabel yang menerima penunjuk ke rantai satu atau beberapa daftar deskriptor memori (MDL) yang menjelaskan halaman yang berisi data yang akan ditulis.

Keterangan

IRP_MJ_PREPARE_MDL_WRITE adalah operasi I/O yang cepat. Ini melakukan hal yang sama seperti IRP_MJ_WRITE + IRP_MN_MDL kecuali untuk perbedaan berikut:

  • Operasi berbasis IRP menyiapkan penembolokan pada file jika belum di-cache sebelum melakukan pekerjaan MDL.
  • Operasi Fast IO gagal jika file belum di-cache.

Struktur FLT_PARAMETERS untuk operasi IRP_MJ_PREPARE_MDL_WRITE berisi parameter untuk operasi I/O PrepareMdlWrite yang cepat. Operasi ini diwakili oleh struktur data panggilan balik (FLT_CALLBACK_DATA). Ini terkandung dalam struktur FLT_IO_PARAMETER_BLOCK, dengan parameter operasi dalam struktur FLT_IO_PARAMETER_BLOCK yang dituju Iopb.

Jika permintaan I/O IRP_MJ_PREPARE_MDL_WRITE cepat gagal, penerbit I/O menentukan cara menerbitkan ulang permintaan. Misalnya, permintaan dapat diterbitkan kembali sebagai operasi berbasis IRP menggunakan IRP_MJ_WRITE + IRP_MN_MDL.

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