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


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

[Относится к KMDF и UMDF]

Функция обратного вызова события EvtDeviceQueryStop драйвера определяет, можно ли остановить указанное устройство, чтобы диспетчер PnP смог перераспределить аппаратные ресурсы системы.

Синтаксис

EVT_WDF_DEVICE_QUERY_STOP EvtWdfDeviceQueryStop;

NTSTATUS EvtWdfDeviceQueryStop(
  [in] WDFDEVICE Device
)
{...}

Параметры

[in] Device

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

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

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

Комментарии

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

Если устройство и драйвер поддерживают выключение питания в режиме простоя, устройство может не находиться в рабочем состоянии, когда платформа вызывает функцию обратного вызова EvtDeviceQueryStop драйвера. Функция обратного вызова может вызвать WdfDeviceStopIdle , чтобы принудительно перейти в рабочее (D0) состояние устройства, а затем функция обратного вызова может вызвать WdfDeviceResumeIdle перед возвратом .

Дополнительные сведения о функции обратного вызова EvtDeviceQueryStop см. в разделе Обработка запросов для остановки устройства.

Платформа не синхронизирует функцию обратного вызова EvtDeviceQueryStop с другими функциями обратного вызова PnP и управления питанием. Сведения о том, как платформа синхронизирует выполнение функций обратного вызова событий драйвера, см. в разделе Использование автоматической синхронизации.

Требования

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

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

EvtDeviceQueryRemove