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


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

[Относится только к KMDF]

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

Синтаксис

EVT_WDF_DEVICE_EJECT EvtWdfDeviceEject;

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

Параметры

[in] Device

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

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

Если операция выполнена успешно, драйвер должен вернуть STATUS_SUCCESS. В противном случае он должен вернуть значение NTSTATUS, которое NT_SUCCESS оценивает как FALSE. Не возвращайте STATUS_NOT_SUPPORTED.

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

Комментарии

Драйверы шины на основе платформы могут предоставлять функцию обратного вызова EvtDeviceEject . Водитель автобуса должен предоставить функцию обратного вызова EvtDeviceEject , если он должен выполнять операции, которые физически извлекали одно из перечисленных дочерних устройств из стыковочной станции устройства. Чтобы зарегистрировать эту функцию обратного вызова, драйвер шины должен вызвать WdfPdoInitSetEventCallbacks.

Перед вызовом функции обратного вызова EvtDeviceEject платформа вызывает функции обратного вызова EvtDeviceD0Exit и EvtDeviceReleaseHardware драйвера.

Если функция обратного вызова EvtDeviceEject драйвера возвращает STATUS_SUCCESS, платформа обновляет дочерний список драйвера, указывая, что выброшенное устройство больше не доступно. Поэтому драйверу не нужно вызывать WdfPdoMarkMissing или WdfChildListUpdateChildDescriptionAsMissing.

Дополнительные сведения о извлечении устройств см. в разделе Поддержка извлекаемых устройств.

Требования

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

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

EvtDeviceSetLock