Microsoft OS 1.0 描述符规范

USB 设备在设备及其接口和终结点的固件中存储标准描述符。 独立硬件供应商 (IHV) 还可以存储类和特定于供应商的描述符。 但是,这些描述符可以包含的信息类型是有限的。 IHV 通常必须使用Windows 更新或媒体(如 CD)为用户提供各种特定于设备的信息,例如图片、图标、自定义驱动程序等。

为了帮助 IHV 解决此问题,Microsoft 定义了 Microsoft OS 描述符。 IHV 可以使用这些描述符在固件中存储现在通常单独提供给客户的大部分信息。 知道 Microsoft OS 描述符的 Windows 版本使用控制请求来检索信息,并使用它来安装和配置设备,而无需任何用户交互。 本白皮书介绍 Microsoft OS 描述符,包括如何存储和检索它们。

注意

“扩展的兼容性 ID OS 功能描述符规范”附录 1 中的兼容和子兼容 ID 表自编写规范时起是最新的,但此后可能已更改。 下表包含兼容和子兼容 ID 的最新列表。 所有 ID 都必须是 8 个字节,因此任何未使用的字符都用 NUL 填充。

CompatibleID 子兼容 ID 说明
(0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) (0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) 没有兼容或子兼容的 ID
“RNDIS”
(0x52 0x4E 0x44 0x49 0x53 0x00 0x00 0x00)
(0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) 远程网络驱动程序接口标准 (RNDIS)
“PTP”
(0x50 0x54 0x50 0x00 0x00 0x00 0x00 0x00)
(0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) 图片传输协议 (PTP)
“MTP”
(0x4D 0x54 0x50 0x00 0x00 0x00 0x00 0x00)
(0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) 媒体传输协议 (MTP)
“XUSB20”
(0x58 0x55 0x53 0x42 0x32 0x30 0x00 0x00)
(0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) XNACC (氪)
“BLUTUTH”
(0x42 0x4C 0x55 0x54 0x55 0x54 0x48 0x00)
“11” (0x31 0x31 0x00 0x00 0x00 0x00 0x00 0x00) 符合 v1.1 且与 Microsoft 驱动程序堆栈兼容的蓝牙无线电
“BLUTUTH”
(0x42 0x4C 0x55 0x54 0x55 0x54 0x48 0x00)
“12” (0x31 0x32 0x00 0x00 0x00 0x00 0x00 0x00) 符合 v1.2 且与 Microsoft 驱动程序堆栈兼容的蓝牙无线电
“BLUTUTH”
(0x42 0x4C 0x55 0x54 0x55 0x54 0x48 0x00)
“EDR” (0x45 0x44 0x52 0x00 0x00 0x00 0x00 0x00) 符合 v2.0 + EDR 且与 Microsoft 驱动程序堆栈兼容的蓝牙无线电
“SCAN”
(0x53 0x43 0x41 0x4E 0x00 0x00 0x00 0x00)
格式如下:2 个字母供应商代码 + 1-5 个 ASCII 字符* + 0x00

*ASCII 仅限于大写字母、数字、下划线。
扫描
“3DPRINT”
(0x33 0x44 0x50 0x52 0x49 0x4E 0x54 0x00)
多种多样 MS3DPRINT G-Code 3D 打印机

此信息适用于 Windows XP 和更高版本的 Windows。

在继续之前,请阅读许可协议。

Microsoft OS 描述符规范

Microsoft OS 描述符规范许可协议

这是您 (个人或单个实体) (“You”) ) 与 Microsoft Corporation (“Microsoft”) 之间的法律协议 (“协议”。  下载、复制或以其他方式使用规范即表示你同意受本协议条款的约束。

第 1 节 定义

() “您的实现”是指: (i) 固件和/或硬件,该固件和/或硬件实现规范中所述的 OS 描述符集,以与已启用 Microsoft OS 描述符的操作系统或 Microsoft 授权检索和使用此信息的其他系统进行交互;和 (ii) 软件驱动程序,用于实现规范中所述的 OS 描述符集,以便仅与 Windows Vista 或 Windows 7 操作系统配合使用。

(b) “被许可方”是指你许可使用你的实现的第三方。

(c) “规范”是指 Microsoft 的 OS 描述符规范和任何随附材料。

第 2 节 许可证授予

() 版权许可证。 Microsoft 特此授予你,根据 Microsoft 在规范中的版权,一个非排他性的、免版税的、不可转让的、不可再授权的全球个人许可,以便在内部复制规范副本,供你和你的承包商用于开发你的实现。

(b) 专利许可。 Microsoft 特此授予你非独占、免版税、不可转让的全球许可,该许可仅在规范中体现,并且由 Microsoft 拥有或许可,以便直接或间接地向被许可人制作、使用、导入、提供销售、销售和分发你的实施。 根据相同的条款和条件,你可以将此专利许可转授权给被许可人。

(c) 保留权利。 Microsoft 保留其在规范、实施及其中的任何知识产权中可能拥有的所有其他权利。 本文档的提供并不授予你或任何其他实体任何其他 Microsoft 专利、商标、版权或其他知识产权的任何许可。

第 3 节 其他限制和义务

() 你对规范的许可权利的条件是,你不得创建、修改或分发许可实现,而此类创建、修改或分发可能 () 创建或旨在创建 Microsoft 在) 或 (b) 授予的规范 (或知识产权的义务, 或旨在向任何第三方授予 Microsoft 在规范中的知识产权或所有权的任何权利或豁免权。

(b) 如果你未遵守本协议的条款和条件,Microsoft 可能会终止本协议,在不损害任何其他权利的情况下。 在这种情况下,您必须销毁规范的所有副本,并且不得进一步分发公司实现。

第 4 节 担保免责声明

规范按“原样”提供,不提供任何形式的担保。 在适用法律允许的最大范围内,Microsoft 进一步否认所有保证,包括但不限于对适销性和特定用途适用性的任何默示保证,以及对所有权和非侵权的保证。 使用规范或性能所产生的全部风险仍由你承担。

第 5 节 附带损害、后果损害和某些其他损害的排除

在适用法律允许的最大范围内,Microsoft 或其供应商在任何情况下均不对因使用或无法使用规范而引起的任何后果性、偶然、直接、间接、特殊、惩罚性或其他 (损害负责,包括但不限于因使用或无法使用规范而引起的业务利润损失、业务中断、业务信息损失或其他经济损失的) 损害, 即使 Microsoft 已被告知发生此类损害的可能性。 由于某些州/司法管辖区不允许排除或限制后果性或附带损害的责任,因此上述限制可能不适用于您。

第 6 节责任限制和补救措施

尽管你可能因任何原因而遭受任何损害,但 (包括但不限于上述所有损害和所有直接或一般损害) ,Microsoft 及其任何供应商根据本协议的任何条款承担的全部责任,以及你对上述所有规定的排他性赔偿应限于你实际支付的金额的较大金额或 5.00 美元。 上述限制、排除和免责声明应在适用法律允许的最大范围内适用,即使任何补救措施不符合其基本目的。

第 7 节 适用法律

如果您在美国中获取了此规范,则本协议受华盛顿州法律的约束。 关于此处可能出现的任何争议,你同意位于华盛顿金县的州法院和联邦法院的管辖权。

第 8 节 赋值

未经另一方事先书面批准,任何一方均不得转让本协议。

我接受,下载文件