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


Функция WdfInterruptReleaseLock (wdfinterrupt.h)

[Применимо к KMDF и UMDF]

Метод WdfInterruptReleaseLock завершает последовательность кода, которая выполняется в DIRQL устройства при сохранении блокировки спина объекта прерывания.

Для объектов прерываний пассивного уровня метод завершает последовательность кода, которая выполняется на пассивном уровне при удержании пассивной блокировки объекта прерывания.

Синтаксис

void WdfInterruptReleaseLock(
  [in] WDFINTERRUPT Interrupt
);

Параметры

[in] Interrupt

Дескриптор объекта прерывания платформы.

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

Нет

Замечания

Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Метод WdfInterruptReleaseLock освобождает блокировку спина указанного объекта прерывания или блокировку ожидания и возвращает IRQL процессора на уровень, которому он был задан до того, как драйвер вызвал WdfInterruptAcquireLock.

Драйвер не может вызывать функцию обратного вызова WdfInterruptReleaseLock, прежде чем платформа вызвала функцию обратного вызова драйвера EvtInterruptEnable или после вызова платформы функции обратного вызова драйвера EvtInterruptDis able.

Дополнительные сведения о методе WdfInterruptReleaseLock см. в синхронизации кода прерываний.

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

Этот метод должен вызываться в DIRQL, который был задан WdfInterruptAcquireLock.

Для прерываний пассивного уровня драйвер должен вызывать WdfInterruptReleaseLock в IRQL = PASSIVE_LEVEL.

Требования

Требование Ценность
целевая платформа универсальный
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
Заголовок wdfinterrupt.h (include Wdf.h)
IRQL См. раздел "Примечания".
правил соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), WdfInterruptLock(kmdfLock(kmdf), WdfInterruptLockRelease(kmdf)

См. также