本节介绍在 USB 设备驱动程序中有用的其他函数。
调用 usb_get_string_descr(9F) 函数可检索给定了索引的字符串描述符。一些配置、接口或设备描述符具有关联的字符串 ID。这样的描述符包含具有非零值的字符串索引字段。将字符串索引字段值传递给 usb_get_string_descr(9F) 可检索对应的字符串。
每个管道都有一个空间指针,专供客户机驱动程序使用。使用 usb_pipe_set_private(9F) 函数可安装一个值。使用 usb_pipe_get_private(9F) 函数可检索该值。当管道可能需要将其自己的客户机定义状态传递到回调,以进行特定处理时,此工具在回调中很有用。
使用 usb_clr_feature(9F) 函数可执行以下任务:
发出 USB CLEAR_FEATURE 请求以清除端点的停止条件。
清除设备的远程唤醒条件。
在设备级别、接口级别或端点级别清除特定于设备的条件。
使用 usb_get_status(9F) 函数可发出 USB GET_STATUS 请求,以检索设备、接口或端点的状态。
设备状态。自备电源并启用远程唤醒。
接口状态。根据 USB 2.0 规范返回零。
端点状态。已停止端点。此状态指示运行延迟。必须清除停止状态才能重新运行设备。
协议延迟指示发出了不支持的控制管道请求。在下一个控制传输开始时将会自动清除协议延迟。
使用 usb_get_addr(9F) 函数可获取设备的 USB 总线地址以用于调试目的。此地址映射到特定的 USB 端口。