IRP-Based-E/A-Vorgänge, die Geräteobjektkennzeichnungen gehorchen

Die Puffermethode für die folgenden IRP-basierten E/A-Vorgänge wird durch den Wert des Flags-Elements der DEVICE_OBJECT Struktur für das Dateisystemvolume bestimmt:

  • IRP_MJ_DIRECTORY_CONTROL

  • IRP_MJ_QUERY_EA

  • IRP_MJ_QUERY_QUOTA

  • IRP_MJ_READ

  • IRP_MJ_SET_EA

  • IRP_MJ_SET_QUOTA

  • IRP_MJ_WRITE

Die DO_BUFFERED_IO- und DO_DIRECT_IO Flags im Flags-Element werden wie folgt verwendet:

  • Wenn das DO_BUFFERED_IO-Flag gesetzt ist, verwendet der Vorgang gepufferte E/A.

  • Wenn das DO_DIRECT_IO-Flag festgelegt ist und das DO_BUFFERED_IO-Flag nicht festgelegt ist, verwendet der Vorgang direkte Eingabe/Ausgabe.

  • Wenn weder eine gepufferte noch eine direkte E/A-Flagge gesetzt ist, verwendet der Vorgang keine von beiden.

Weitere Informationen zu Geräteobjektkennzeichnungen finden Sie unter DEVICE_OBJECT und Initialisieren eines Geräteobjekts.

Beachten Sie, dass IRP_MJ_READ und IRP_MJ_WRITE IRP-basierte oder schnelle E/A-Vorgänge sein können. Wenn sie IRP-basiert sind, wird die Puffermethode durch die Geräteobjektkennzeichnungen bestimmt, wie oben beschrieben. Wenn diese Vorgänge schnelle Ein-/Ausgabe sind, verwenden sie weder gepufferte noch direkte Ein-/Ausgabe. Weitere Informationen zu E/A-Vorgängen, die IRP-basierte oder schnelle E/A-Vorgänge sein können, finden Sie unter Vorgänge, die IRP-Based oder schnelle E/A-Vorgänge sein können.