Freigeben über


FLT_PARAMETERS für IRP_MJ_MDL_READ_COMPLETE Union

Der folgende FLT_PARAMETERS Unionsmember wird verwendet, wenn FLT_IO_PARAMETER_BLOCK.MajorFunction IRP_MJ_MDL_READ_COMPLETE ist.

Syntax

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    PMDL MdlChain;
  } MdlReadComplete;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Member

  • MdlReadComplete: Struktur, die die folgenden Mitglieder enthält.

  • MdlChain: Zeiger auf eine Variable, die einen Zeiger auf eine Kette von einer oder mehreren Memory Descriptor Lists (MDL) empfängt, die die Seiten beschreiben, die die Daten enthalten, die aus der Cachedatei gelesen werden sollten.

Hinweise

IRP_MJ_MDL_READ_COMPLETE ist ein schneller E/A-Vorgang. Es funktioniert genauso wie IRP_MJ_READ + IRP_MN_COMPLETE_MDL mit Ausnahme des folgenden Unterschieds:

  • Der IRP-basierte Vorgang richtet die Zwischenspeicherung für die Datei ein, wenn er noch nicht zwischengespeichert wird, bevor die MDL-Arbeit ausgeführt wird.
  • Der schnelle E/A-Vorgang schlägt fehl, wenn die Datei noch nicht zwischengespeichert ist.

Die Struktur FLT_PARAMETERS für IRP_MJ_MDL_READ_COMPLETE-Vorgänge enthält die Parameter für einen schnellen E/A-MdlReadComplete-Vorgang. Der Vorgang wird durch eine (FLT_CALLBACK_DATA)-Struktur mit den Parametern des Vorgangs in der FLT_IO_PARAMETER_BLOCK-Struktur dargestellt, auf die Iopb verweist.

Wenn bei einer schnellen E/A-IRP_MJ_MDL_READ_COMPLETE-Anforderung ein Fehler auftritt, bestimmt der Aussteller der E/A, wie die Anforderung erneut ausgeführt werden soll. Beispielsweise kann die Anforderung mit IRP_MJ_READ + IRP_MN_COMPLETE_MDL als IRP-basierten Vorgang neu bereitgestellt werden.

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