функция обратного вызова USBFN_SET_DEVICE_STATE (usbfnattach.h)
Реализация драйвера фильтра для задания состояния устройства и скорости работы шины.
Синтаксис
USBFN_SET_DEVICE_STATE UsbfnSetDeviceState;
NTSTATUS UsbfnSetDeviceState(
[in] PVOID Context,
[in] USBFN_DEVICE_STATE DeviceState,
[in] USBFN_BUS_SPEED BusSpeed
)
{...}
Параметры
[in] Context
Указатель на контекст, определенный драйвером.
[in] DeviceState
Флаг типа USBFN_DEVICE_STATE, указывающий состояние устройства.
[in] BusSpeed
USBFN_BUS_SPEED типизированный флаг, указывающий скорость шины.
Возвращаемое значение
Если операция выполнена успешно, функция обратного вызова должна возвращать STATUS_SUCCESS или другое значение состояния, для которого NT_SUCCESS(status) равно TRUE. В противном случае он должен возвращать значение состояния, для которого NT_SUCCESS (status) равно FALSE.
Комментарии
Для поддержки обнаружения подключения и отсоединения драйвер нижнего фильтра USB должен опубликовать свою поддержку. В процессе публикации драйвер также регистрирует свою реализацию этой функции обратного вызова. Дополнительные сведения см. в разделе Драйвер фильтра USB для поддержки собственных зарядных устройств.
Драйвер нижнего фильтра может реализовать функцию USBFN_SET_DEVICE_STATE даже обратного вызова, если ему требуется уведомление об изменениях состояния устройства для правильной настройки зарядки при подключении к узлу или в сценариях лаборатории, где зарядка через USB должна быть отключена.
Примеры
NTSTATUS
UsbLowerFilter_SetDeviceState(
_In_ PVOID Context,
_In_ USBFN_DEVICE_STATE DeviceState,
_In_ USBFN_BUS_SPEED BusSpeed
)
{
PPDCP_CONTEXT PdcpContext = NULL;
PAGED_CODE();
// Get our context
PdcpContext = DeviceGetUsbLowerFilterContext((WDFDEVICE)Context);
PdcpContext->CurrentDeviceState = DeviceState;
PdcpContext->BusSpeed = BusSpeed;
return STATUS_SUCCESS;
}
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | usbfnattach.h |
IRQL | PASSIVE_LEVEL |
См. также раздел
Драйвер фильтра USB для поддержки собственных зарядных устройств