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回调中创建对象。