WUDF_INTERRUPT_DISABLE回呼函式 (wudfinterrupt.h)
警告
UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,且較新版本的 #D3B27299CC58A4DDF8C41B7F6C9DEE894 上,UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用UMDF使用者入門。
驅動程式的 OnInterruptDisable 事件回呼函式會停用指定的硬體中斷。
語法
WUDF_INTERRUPT_DISABLE WudfInterruptDisable;
HRESULT WudfInterruptDisable(
[in] IWDFInterrupt *Interrupt,
[in] IWDFDevice *AssociatedDevice
)
{...}
參數
[in] Interrupt
IWDFInterrupt 介面的指標。
[in] AssociatedDevice
驅動程式用來呼叫 CreateInterrupt 的 IWDFDevice 介面指標。
傳回值
如果作業成功,OnInterruptDisable 必須傳回S_OK。 否則,回呼應該會傳回 Winerror.h 中定義的其中一個錯誤碼。
備註
若要註冊 OnInterruptDisable 回呼函式,您的驅動程式必須在呼叫 IWDFDevice::CreateInterrupt 之前,將回呼函式的位址放在WUDF_INTERRUPT_CONFIG結構中。
每次裝置離開其運作 (D0) 狀態時,架構都會呼叫驅動程式的 OnInterruptDisable 回呼函式。 此外,驅動程式可藉由呼叫 IWDFInterrupt::D isable 來呼叫 OnInterruptDisable 回呼函式。
在呼叫 OnInterruptDisable 回呼函式之前,架構會呼叫驅動程式的 OnD0ExitPreInterruptsDisabled 事件回呼函式,並取得使用者模式中斷鎖定。
如需在 UMDF 驅動程式中處理中斷的詳細資訊,請參閱 存取硬體和處理中斷。
範例
函式類型會在 Wudfinterrupt.h 中宣告,如下所示。
typedef
__drv_functionClass(WUDF_INTERRUPT_DISABLE)
HRESULT
WUDF_INTERRUPT_DISABLE(
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFDevice* AssociatedDevice
);
typedef WUDF_INTERRUPT_DISABLE *PFN_WUDF_INTERRUPT_DISABLE;
若要定義名為 MyInterruptDisable 的 OnInterruptDisable 回呼函式,您必須先提供 SDV 和其他驗證工具所需的函式宣告,如下所示:
WUDF_INTERRUPT_DISABLE MyInterruptDisable;
然後,實作回呼函式,如下所示:
HRESULT
MyInterruptDisable (
IN IWDFInterrupt* pInterrupt,
IN IWDFDevice* pAssociatedDevice
)
{…}
規格需求
需求 | 值 |
---|---|
終止支援 | 在 UMDF 2.0 和更新版本中無法使用。 |
目標平台 | 桌面 |
最低UMDF版本 | 1.11 |
標頭 | wudfinterrupt.h |