USB 功能客户端驱动程序使用的 UFX 对象和句柄

USB 函数类扩展 (UFX) 使用 WDF 对象功能来定义这些特定于 USB 的 UFX 对象。

总结

  • 函数控制器驱动程序使用 UFX 对象来处理传入和传出终结点的传输。
  • 这些对象是 WDF 对象的句柄,由 UFX 应客户端驱动程序的请求创建。 每个对象的生存期都由 UFX 管理。

重要的 API

USB 函数类扩展 (UFX) 使用 WDF 对象功能来定义这些特定于 USB 的 UFX 对象。

这些对象是 WDF 对象的句柄,由 UFX 根据函数客户端驱动程序的请求创建。 (可选)客户端驱动程序可以将上下文与创建时传递的这些对象相关联。 UFX 创建的每个 WDF 对象都可能具有两个设备上下文:在创建对象时由 UFX 设置的一个设备上下文;由客户端驱动程序传入的另一个设备上下文,在创建 WDF 对象后,通过使用 WdfObjectAllocateContext 在 UFX 中设置。

UFXDEVICE:USB 设备对象

表示控制器创建的 USB 设备。 对象负责根据 USB 协议规范管理 USB 状态,并管理与 USB 设备关联的一个或多个终结点。 函数控制器驱动程序通过调用 UfxDeviceCreate 方法在 EvtDriverDeviceAdd 回调中创建此对象。


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 终结点对象

表示主机和设备之间的逻辑连接。 对象负责向/从主机传输数据。 对于每个设备对象,可以有一个或多个终结点。 默认终结点始终是控制终结点,其余终结点是特定于类驱动程序的对象。 函数控制器驱动程序通过调用 UfxEndpointCreate 方法在EVT_UFX_DEVICE_ENDPOINT_ADD回调中创建 对象。