IWDFInterrupt::TryToAcquireInterruptLock 方法 (wudfddi.h)
[警告: UMDF 2 是最新版本的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 Windows 10 上對 UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱 開始使用 UMDF。]
TryToAcquireInterruptLock 方法會取得中斷鎖定,如果沒有其他線程已經取得中斷鎖定。
語法
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 |