共用方式為


可IRP-Based或快速 I/O 的作業

下列作業類型可以是 IRP 型或快速 I/O 作業:

  • IRP_MJ_DEVICE_CONTROL。 (請注意,IRP_MJ_INTERNAL_DEVICE_CONTROL一律以 IRP 為基礎。)

  • IRP_MJ_QUERY_INFORMATION。 如果 FileInformationClass 參數是 FileBasicInformationFileStandardInformationFileNetworkOpenInformation,這項作業可能是快速的 I/O。

  • IRP_MJ_READ。 迷你篩選驅動程式可以在 FLT_OPERATION_REGISTRATION 結構中設定 FLTFL_OPERATION_REGISTRATION_SKIP_CACHED_IO 旗標,以避免接收快速的 I/O IRP_MJ_READ作業和快取的 IRP 型讀取。

  • IRP_MJ_WRITE。 迷你篩選驅動程式可以在FLT_OPERATION_REGISTRATION結構中設定FLTFL_OPERATION_REGISTRATION_SKIP_CACHED_IO旗標,以避免接收快速的 I/O IRP_MJ_WRITE作業和快取的 IRP 寫入。

當其中任何一個作業都是快速的 I/O 作業時,即使對等的 IRP 型作業使用不同的緩衝方法,它一律不會使用緩衝處理或直接 I/O。

當IRP_MJ_DEVICE_CONTROL是快速的 I/O 作業時,不論 IOCTL 的傳輸類型為何,它一律不會使用緩衝處理或直接 I/O。

雖然IRP_MJ_LOCK_CONTROL可以是 IRP 型或快速 I/O 作業,但它沒有緩衝區。