Объекты и дескриптора UFX, используемые драйвером клиента функции USB
Расширение класса функций USB (UFX) использует функциональные возможности объектов WDF для определения этих объектов UFX, относящихся к USB.
Сводка
- Объекты UFX используются драйвером контроллера функций для обработки передачи в конечные точки и из них.
- Эти объекты являются дескрипторами объектов WDF и создаются UFX по запросу драйвера клиента. Время существования каждого объекта управляется UFX.
Важные API
Расширение класса функций USB (UFX) использует функциональные возможности объектов WDF для определения этих объектов UFX, относящихся к USB.
Эти объекты являются дескрипторами объектов WDF и создаются UFX по запросу драйвера клиента-функции. При необходимости драйвер клиента может связать контекст с этими объектами, которые можно передать во время создания. Каждый объект WDF, созданный UFX, потенциально может иметь два контекста устройства: один контекст устройства, заданный UFX во время создания объекта; другой контекст устройства, передаваемый драйвером клиента и задается в UFX с помощью WdfObjectAllocateContext после создания объекта WDF.
UFXDEVICE: объект устройства USB
Представляет USB-устройство, созданное контроллером. Объект отвечает за управление состояниями USB в соответствии со спецификацией протокола USB и управление одной или несколькими конечными точками, связанными с USB-устройством. Драйвер контроллера функции создает этот объект в обратном вызове EvtDriverDeviceAdd путем вызова метода UfxDeviceCreate .
EVT_UFX_DEVICE_HOST_CONNECT Инициирует соединение с узлом.
EVT_UFX_DEVICE_HOST_DISCONNECT Отключает связь контроллера функции с узлом.
EVT_UFX_DEVICE_ADDRESSED Назначает адрес контроллеру функции.
EVT_UFX_DEVICE_ENDPOINT_ADD Создает объект конечной точки по умолчанию.
EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD Создает объект конечной точки по умолчанию.
EVT_UFX_DEVICE_USB_STATE_CHANGE Обновление состояния USB-устройства.
EVT_UFX_DEVICE_PORT_CHANGE Обновите тип нового порта, к которому подключено USB-устройство.
EVT_UFX_DEVICE_PORT_DETECT Инициируйте обнаружение портов.
EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL инициировать удаленное пробуждение на контроллере функции.
EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER Инициирует обнаружение собственного зарядного устройства.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET Сбрасывает собственное зарядное устройство.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY Задает сведения о зарядном устройстве, которые используются для включения зарядки через USB.
UFXENDPOINT: объект конечной точки USB
Представляет логическое соединение между узлом и устройством. Объект отвечает за передачу данных на узел или с узла. Для каждого объекта устройства может быть одна или несколько конечных точек. Конечная точка по умолчанию всегда является конечной точкой управления, а остальные — это объекты, относящиеся к драйверу класса. Драйвер контроллера функции создает объект в обратном вызове EVT_UFX_DEVICE_ENDPOINT_ADD путем вызова метода UfxEndpointCreate .