IWDFInterrupt::TryToAcquireInterruptLock-Methode (wudfddi.h)
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 für neuere Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.]
Die TryToAcquireInterruptLock-Methode ruft die Interruptsperre ab, wenn sie bereits von keinem anderen Thread abgerufen wurde.
Syntax
BOOLEAN TryToAcquireInterruptLock();
Rückgabewert
Die Methode gibt TRUE zurück, wenn die Interruptsperre erfolgreich abgerufen wurde. Andernfalls gibt die Methode FALSE zurück.
Hinweise
Im Gegensatz zu IWDFInterrupt::AcquireInterruptLock wartet IWDFInterrupt::TryToAcquireInterruptLock nicht, bis die Interruptsperre verfügbar wird, wenn ein anderer Thread sie enthält.
Beim Ausführen in einem beliebigen Thread, z. B. einer E/A-Warteschlangenrückrufmethode, müssen Treiber IWDFInterrupt::TryToAcquireInterruptLock anstelle von IWDFInterrupt::AcquireInterruptLock aufrufen. Der Treiber ruft beispielsweise IWDFInterrupt::TryToAcquireInterruptLock von IQueueCallbackRead::OnRead auf. Dadurch wird die Möglichkeit eines Deadlocks vermieden, wie im Abschnitt Hinweise von IWDFInterrupt::AcquireInterruptLock beschrieben.
Der Treiber darf nicht versuchen, die Sperre rekursiv abzurufen. Wenn eine Verbindung mit dem Debugger besteht, führt das Framework in diesem Szenario einen Haltepunkt ein.
Weitere Informationen zur manuellen Unterbrechungssperre finden Sie unter Synchronisieren von Interruptcode.
Weitere Informationen zur Behandlung von Interrupts in UMDF-Treibern finden Sie unter Zugreifen auf Hardware und Behandlung von Interrupts.
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform | Desktop |
UMDF-Mindestversion | 1.11 |
Kopfzeile | wudfddi.h |
DLL | WUDFx.dll |