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.