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


функция обратного вызова EVT_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED (wdfdevice.h)

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

Функция обратного вызова события EvtDeviceD0EntryPostInterruptsEnabled выполняет операции, относящиеся к конкретному устройству, которые необходимы после включения драйвера аппаратных прерываний устройства.

Синтаксис

EVT_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED EvtWdfDeviceD0EntryPostInterruptsEnabled;

NTSTATUS EvtWdfDeviceD0EntryPostInterruptsEnabled(
  [in] WDFDEVICE Device,
  [in] WDF_POWER_DEVICE_STATE PreviousState
)
{...}

Параметры

[in] Device

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

[in] PreviousState

WDF_POWER_DEVICE_STATE типизированный перечислитель, идентифицирующий предыдущее состояние питания устройства.

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

Если функция обратного вызова EvtDeviceD0EntryPostInterruptsEnabled не обнаруживает ошибок, она должна возвращать STATUS_SUCCESS или другое значение состояния, для которого NT_SUCCESS(status) равно TRUE. В противном случае он должен возвращать значение состояния, для которого NT_SUCCESS(status) равно FALSE.

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

Комментарии

Чтобы зарегистрировать функцию обратного вызова EvtDeviceD0EntryPostInterruptsEnabled , драйвер должен вызвать WdfDeviceInitSetPnpPowerEventCallbacks.

Функция обратного вызова EvtDeviceD0EntryPostInterruptsEnabled вызывается в IRQL = PASSIVE_LEVEL после возврата функции обратного вызова EvtInterruptEnable драйвера. Драйвер может предоставить эту функцию, если он должен выполнять операции для конкретного устройства после включения прерывания, если эти операции не должны выполняться в IRQL = DIRQL в функции обратного вызова EvtInterruptEnable . Не следует делать эту функцию обратного вызова страничной.

Дополнительные сведения о том, когда платформа вызывает эту функцию обратного вызова, см. в разделе Сценарии PnP и управления питанием.

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

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfdevice.h (включая Wdf.h)
IRQL PASSIVE_LEVEL (см. раздел "Примечания")

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

EvtDeviceD0ExitPreInterruptsDisabled