IWDFInterrupt::TryToAcquireInterruptLock 方法 (wudfddi.h)
[警告: UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的 UMDF 驅動程式都應該使用 UMDF 2 來撰寫。 未將新功能新增至 UMDF 1,且較新版本的 #DEF799BA661034A25B33628CF715B651C 上不支援 UMDF 1。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用 UMDF 使用者入門。]
如果其他線程尚未取得中斷鎖定, TryToAcquireInterruptLock 方法就會取得中斷鎖定。
Syntax
BOOLEAN TryToAcquireInterruptLock();
傳回值
如果成功取得中斷鎖定,此方法會傳回 TRUE。 否則,方法會傳回 FALSE。
備註
不同於 IWDFInterrupt::AcquireInterruptLock,IWDFInterrupt::TryToAcquireInterruptLock 不會等候中斷鎖定在保存中斷鎖定時變成可用。
在任意線程中執行時,例如 I/O 佇列回呼方法,驅動程式必須呼叫 IWDFInterrupt::TryToAcquireInterruptLock ,而不是 IWDFInterrupt::AcquireInterruptLock。 例如,驅動程式會從IQueueCallbackRead::OnRead 呼叫 IWDFInterrupt::TryToAcquireInterruptLock。 這麼做可避免死結的可能性,如 IWDFInterrupt::AcquireInterruptLock 的一節所述。
驅動程式不得嘗試以遞歸方式取得鎖定。 如果連線到調試程序,架構就會在此案例中引進斷點。
如需手動中斷鎖定的詳細資訊,請參閱 同步處理中斷程序代碼。
如需在 UMDF 驅動程式中處理中斷的詳細資訊,請參閱 存取硬體和處理中斷。
規格需求
需求 | 值 |
---|---|
終止支援 | UMDF 2.0 和更新版本中無法使用。 |
目標平台 | 桌面 |
最低UMDF版本 | 1.11 |
標頭 | wudfddi.h |
Dll | WUDFx.dll |