Zugreifen auf die Benutzerpuffer für einen E/A-Vorgang

Die FLT_PARAMETERS-Struktur für einen E/A-Vorgang enthält die vorgangsspezifischen Parameter für den Vorgang, einschließlich Pufferadressen und Speicherdeskriptorlisten (Memory Descriptor Lists, MDL) für alle Puffer, die im Vorgang verwendet werden.

Für IRP-basierte E/A-Vorgänge können die Puffer für den Vorgang wie folgt angegeben werden:

  • Nur MDL (in der Regel für Paging-E/A)

  • Nur Pufferadresse

  • Pufferadresse und MDL

Für schnelle E/A-Vorgänge wird nur die Pufferadresse des Benutzerspeichers angegeben. Schnelle E/A-Vorgänge mit Puffern verwenden immer weder gepufferte noch direkte E/A-Vorgänge und weisen daher nie MDL-Parameter auf.

Die folgenden Themen enthalten Richtlinien für die Behandlung von Pufferadressen und MDLs für IRP-basierte und schnelle E/A-Vorgänge in Rückrufroutinen für Minifiltertreiber vor der Operation und Rückrufroutinen nach der Operation:

Zugreifen auf Benutzerpuffer in einer Rückrufroutine vor der Operation

Zugreifen auf Benutzerpuffer in einer Rückrufroutine nach der Operation