Поделиться через


Метод IWDFInterrupt::TryToAcquireInterruptLock (wudfddi.h)

[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с помощью UMDF.]

Метод TryToAcquireInterruptLock получает блокировку прерывания, если ни один другой поток не получил ее.

Синтаксис

BOOLEAN TryToAcquireInterruptLock();

Возвращаемое значение

Метод возвращает значение TRUE, если блокировка прерывания была успешно получена. В противном случае метод возвращает значение FALSE.

Комментарии

В отличие от IWDFInterrupt::AcquireInterruptLock, IWDFInterrupt::TryToAcquireInterruptLock не дожидается, пока блокировка прерывания станет доступной, если ее удерживает другой поток.

При выполнении в произвольном потоке, например метод обратного вызова очереди ввода-вывода, драйверы должны вызывать IWDFInterrupt::TryToAcquireInterruptLock вместо IWDFInterrupt::AcquireInterruptLock. Например, драйвер вызывает IWDFInterrupt::TryToAcquireInterruptLock из IQueueCallbackRead::OnRead. Это позволяет избежать взаимоблокировки, как описано в разделе Примечания статьи IWDFInterrupt::AcquireInterruptLock.

Драйвер не должен пытаться получить блокировку рекурсивно. При подключении к отладчику платформа вводит точку останова в этом сценарии.

Дополнительные сведения о блокировке прерываний вручную см. в разделе Синхронизация кода прерываний.

Дополнительные сведения об обработке прерываний в драйверах UMDF см. в разделе Доступ к оборудованию и обработка прерываний.

Требования

Требование Значение
Дата окончания поддержки Недоступно в UMDF 2.0 и более поздних версиях.
Целевая платформа Персональный компьютер
Минимальная версия UMDF 1.11
Верхняя часть wudfddi.h
DLL WUDFx.dll

См. также раздел

IWDFInterrupt

IWDFInterrupt::AcquireInterruptLock

WdfInterruptTryToAcquireLock