啟用和停用 UMDF 1 (中斷)
警告
UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的 UMDF 驅動程式都應該使用 UMDF 2 來撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 Windows 10 上不支援 UMDF 1。 通用 Windows 驅動程式必須使用 UMDF 2。
封存的 UMDF 1 範例可在Windows 11 22H2 版 - 2022 年 5 月驅動程式範例更新中找到。
如需詳細資訊,請參閱使用 UMDF 消費者入門。
如果您的驅動程式處理裝置中斷,它必須提供 OnInterruptEnable 和 OnInterruptDisable 回呼函式,以啟用和停用中斷。 這些回呼函式必須執行任何必要動作,才能啟用和停用裝置的中斷機制。
如果您的驅動程式必須執行與啟用或停用中斷相關的其他作業,驅動程式也可以提供IPnpCallbackHardwareInterrupt::OnD0EntryPostInterruptsEnabled 和 IPnpCallbackHardwareInterrupt::OnD0ExitPreInterruptsDisabled回呼函式。
此架構會在架構呼叫驅動程式的 OnInterruptEnable 和 IPnpCallbackHardwareInterrupt::OnD0EntryPostInterruptsEnabled 回呼函式時,每次裝置進入其工作 (D0) 狀態之後,架構就會呼叫驅動程式的 OnD0Entry 回呼函式。 在架構呼叫驅動程式的 IPnpCallbackHardwareInterrupt::OnD0ExitPreInterruptsDisabled 和 OnInterruptDisable 回呼函式時,每次裝置離開其工作狀態時,架構才會呼叫驅動程式的 OnD0Exit 回呼函式。 如需架構何時呼叫驅動程式回呼函式的詳細資訊,請參閱 UMDF 驅動程式中的 PnP 和電源管理。
您不得假設每次架構呼叫驅動程式的 OnInterruptEnable 回呼函式時,裝置都會使用相同的中斷資源。 有時候 PnP 管理員會轉散發系統資源,而且可能會將新的中斷資源指派給您的裝置。
驅動程式可以呼叫 IWDFInterrupt::GetInfo 來判斷裝置的中斷資源。 驅動程式可以呼叫 IWDFInterrupt::GetDevice 來判斷中斷物件所屬的裝置。
若要直接啟用和停用中斷,驅動程式可以呼叫中斷物件的 IWDFInterrupt::Enable 和 IWDFInterrupt::D isable 方法,其會呼叫驅動程式的 OnInterruptEnable 和 OnInterruptDisable 事件回呼函式。 不過,大部分驅動程式應該只允許架構在適當的時間呼叫 OnInterruptEnable 和 OnInterruptDisable 回呼函式。