Share via


FLT_PARAMETERS für IRP_MJ_PREPARE_MDL_WRITE Union

Die folgende Unionkomponente wird verwendet, wenn das Feld MajorFunction der FLT_IO_PARAMETER_BLOCK-Struktur für den Vorgang IRP_MJ_PREPARE_MDL_WRITE wird.

Syntax

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

Member

  • PrepareMdlWrite: Struktur mit den folgenden Membern.

  • FileOffset: Byte wird in der zwischengespeicherten Datei gestartet.

  • Länge: Länge der Daten in Bytes, die in die zwischengespeicherte Datei geschrieben werden sollen.

  • Schlüssel: Schlüsselwert, der einer Bytebereichssperre für die Zieldatei zugeordnet ist. Wenn sich der zu schreibende Bereich überschneidet oder ein Unterbereich eines exklusiv gesperrten Bereichs innerhalb der Datei ist, muss dieser Parameter der Schlüssel für diese exklusive Sperre sein. Die exklusive Sperre muss vom übergeordneten Prozess des aufrufenden Threads gehalten werden. Andernfalls wird dieser Parameter ignoriert.

  • MdlChain: Zeiger auf eine Variable, die einen Zeiger auf eine Kette aus einer oder mehreren Speicherdeskriptorlisten (MDL) empfängt, die die Seiten beschreiben, die die zu schreibenden Daten enthalten.

Hinweise

Die FLT_PARAMETERS-Struktur für IRP_MJ_PREPARE_MDL_WRITE-Vorgänge enthält die Parameter für einen schnellen E/A-PrepareMdlWrite-Vorgang , der durch eine Rückrufdatenstruktur (FLT_CALLBACK_DATA) dargestellt wird. Sie ist in einer FLT_IO_PARAMETER_BLOCK-Struktur enthalten.

Wenn eine schnelle E/A-IRP_MJ_PREPARE_MDL_WRITE-Anforderung fehlschlägt, bestimmt der E/A-Aussteller, wie die Anforderung erneut ausgegeben werden soll. Ein Minifilter erhält möglicherweise nicht immer eine IRP-basierte IRP_MJ_MDL_WRITE. Für instance kann die IRP-Anforderung als IRP_MJ_WRITE/IRP_MN_MDL neu ausgestellt werden.

IRP_MJ_PREPARE_MDL_WRITE ist ein schneller E/A-Vorgang.

Anforderungen

Anforderungstyp Anforderung
Header Fltkernel.h (einschließlich Fltkernel.h)

Weitere Informationen

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS