嗨,我们是一家嵌入式开发公司 (www.emfocus.co.in),并且是驱动程序签名细节的新手。目前我们正在为 UPS 开发一个驱动程序,它只是一个通用的 USB HID 类设备。设备固件已经用这样的方式编写UPS 将被枚举为人机界面设备的方式
但我们的意图是将我们的 UPS 视为 HID UPS 电池 - 电池类设备,而不是通用 HID 设备。这样当我们将 UPS 连接到 Windows 时,Windows 会检测到 UPS 是连接到系统的电池,并且 Windows 电源管理器会通过 HID 接口与 UPS 通信。这里我在驱动中提到的HID接口不仅仅是一个通用接口。它的 HID 电源设备接口。我们在迷你驱动程序中定义了 HID 电源设备报告描述符,以便 Windows 枚举一个顶级集合,它是我们 UPS 的 HID UPS 电池。该 HID UPS 电池顶级集合已在我们的迷你驱动程序中实现。实际上,如果我们编写了设备固件以枚举电池顶级集合,我们可以使用 Windows InBox 驱动程序。
一旦 Windows 检测到 HID UPS 电池,Windows 本身就会开始发送功能报告请求以获取电池容量、RunTimeToEmpty、AC 存在、充电状态……一切正常。
当这些请求发送给我们的驱动程序时,我们的驱动程序将通过 USB(使用其专有协议)与 UPS 通信并从 UPS 获取状态参数,驱动程序使用功能报告和 Windows 电源中所需的值完成 IOCTL_HID_GET_FEATURE 请求Manager 在功率计上显示状态。
这样 UPS 电池状态将在 Windows Power Meter 本身上进行监控,因为在安装我们的驱动程序后,Windows 将我们的 UPS 视为 HID UPS 电池,而不是通用 HID 设备。
我们希望 Windows 始终选择我们的驱动程序 inf 文件,同时寻找最佳匹配的驱动程序文件。
因此,为了实现这一点,我们想知道是否可以使用我们的代码签名证书签署我们的驱动程序或让驱动程序获得 WHQL 认证?