функция обратного вызова 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 |