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

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

None

Remarks

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

Драйвер клиента UCX регистрирует свою реализацию в расширении КОНТРОЛЛЕРа узла USB (UCX), вызывая метод UcxControllerCreate .

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

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

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1709
Минимальная версия сервера Windows Server 2016
Целевая платформа Windows
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть ucxcontroller.h (включая Ucxclass.h)
IRQL PASSIVE_LEVEL

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