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


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

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

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

Синтаксис

EVT_WDF_DEVICE_QUERY_REMOVE EvtWdfDeviceQueryRemove;

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

Параметры

[in] Device

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

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

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

Замечания

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

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

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

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

Требования

Требование Ценность
целевая платформа Всеобщий
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
заголовка wdfdevice.h (include Wdf.h)
IRQL PASSIVE_LEVEL

См. также

EvtDeviceQueryStop