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

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

Синтаксис

EVT_UCX_CONTROLLER_SET_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION EvtUcxControllerSetTransportCharacteristicsChangeNotification;

VOID EvtUcxControllerSetTransportCharacteristicsChangeNotification(
  [in] UCXCONTROLLER UcxController,
  [in] UCX_CONTROLLER_TRANSPORT_CHARACTERISTICS_CHANGE_FLAGS ChangeNotificationFlags
)
{...}

Параметры

[in] UcxController

Дескриптор контроллера UCX, полученного драйвером клиента в предыдущем вызове метода UcxControllerCreate.

[in] ChangeNotificationFlags

Побитовый параметр флагов, указывающий характеристики транспорта типов, в которых заинтересован UCX. Флаги определены в UCX_CONTROLLER_TRANSPORT_CHARACTERISTICS_CHANGE_FLAGS.

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

Никакой

Замечания

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

Драйвер клиента UCX регистрирует свою реализацию с расширением контроллера USB-узла (UCX), вызвав метод UcxControllerCreate.

Для эффективного потребления электроэнергии UCX вызывает эту функцию обратного вызова, чтобы указать характеристики транспорта, в которых заинтересован UCX.

Скорее всего, если драйвер клиента продолжает искать изменения в характеристиках транспорта в контроллере. Это может привести к высокой энергопотреблении и может оказаться неэффективным, если для этого уведомления об изменении нет драйверов USB-устройств. Чтобы оптимизировать потребление электроэнергии, UCX вызывает эту функцию обратного вызова, чтобы сообщить драйверу клиента о том, зарегистрированы ли какие-либо клиенты для изменений. Эта функция обратного вызова передает флаги уведомлений об изменении в качестве параметра. Если установлен флаг, он указывает, что зарегистрирован по крайней мере один драйвер устройства. Если флаг не задан, это означает, что нет зарегистрированных клиентов, поэтому контроллер может оптимизировать питание.

Заметка

Это необязательно для драйверов контроллера для регистрации или использования этих функций обратного вызова. Он действителен для драйвера контроллера для вызова уведомления об изменении, даже если UCX указал, что для него нет зарегистрированных клиентов.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 1709
минимальный поддерживаемый сервер Windows Server 2016
целевая платформа Виндоус
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
заголовка ucxcontroller.h (include Ucxclass.h)
IRQL PASSIVE_LEVEL

См. также