IRP-Based E/A-Vorgänge, die Geräteobjektflags 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 flags DO_BUFFERED_IO und DO_DIRECT_IO im Flags-Member werden wie folgt verwendet:

  • Wenn das DO_BUFFERED_IO-Flag festgelegt ist, verwendet der Vorgang gepufferte E/A-Vorgänge.

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

  • Wenn kein Flag festgelegt ist, verwendet der Vorgang weder gepufferte noch direkte E/A-Vorgänge.

Weitere Informationen zu Geräteobjektflags 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 wie oben beschrieben durch die Geräteobjektflags bestimmt. Wenn es sich bei diesen Vorgängen um schnelle E/A-Vorgänge handelt, werden immer weder gepufferte noch direkte E/A-Vorgänge verwendet. 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.