Share via


從分派常式傳回狀態

注意

為了獲得最佳可靠性和效能,請使用 檔案系統迷你篩選驅動程式 搭配篩選管理員支援,而不是舊版檔案系統篩選驅動程式。 若要將舊版驅動程式移植到迷你篩選器驅動程式,請參閱 移植舊版篩選驅動程式的指導方針

除了完成 IRP 時,未設定完成常式的分派常式應該一律傳回 IoCallDriver所傳回的 NTSTATUS 值。 除非此值是STATUS_PENDING,否則它必須符合完成 IRP 的驅動程式所設定的 Irp-IoStatus.Status > 值。

分派常式,設定將 IRP 張貼到工作佇列的完成常式應該執行下列其中一個動作:

  • 傳回 IoCallDriver所傳回的 NTSTATUS 值。
  • 等候完成常式發出事件訊號,並傳回 Irp-IoStatus.Status >的值。
  • 將 IRP 標示為擱置中,將它張貼到工作佇列,並傳回STATUS_PENDING。
  • 如果完成常式可能會將 IRP 張貼到工作佇列,分派常式必須標示 IRP 擱置中,並傳回STATUS_PENDING。

這些行為的哪一個正確或甚至可能取決於特定作業。 某些作業,例如目錄變更通知,無法進行同步處理;和某些作業,例如 oplocks,無法設為非同步。

如需從分派常式傳回狀態的詳細資訊,請參閱 分派常式的條件約束