Microsoft OS Descriptors

Updated: April 11, 2014

USB devices store standard descriptors in firmware for the device, and its interfaces and endpoints. Independent hardware vendors (IHVs) can also store class and vendor-specific descriptors. However, the types of information that these descriptors can contain is limited. IHVs typically must use Windows Update or media such as a CD to provide their users with a variety of device-specific information such as pictures, icons, custom drivers and so on.

To help IHVs address this issue, Microsoft has defined Microsoft OS descriptors. These descriptors can be used by IHVs to store in firmware much of the information that is now typically provided to customers separately. Versions of Windows that are aware of Microsoft OS descriptors use control requests to retrieve the information, and use it to install and configure the device without requiring any user interaction. This white paper provides an introduction to Microsoft OS descriptors, including a discussion of how they are stored and retrieved.

Note: The table of compatible and sub-compatible IDs in Appendix 1 of "Extended Compat ID OS Feature Descriptor Specification" is current as of the time the specification was written, but might have since changed. The following table contains the most recent list of compatible and sub-compatible IDs. All IDs must be eight bytes, so any unused characters are filled with NULLs.

CompatibleID Sub-compatible ID Description
(0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) (0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) No compatible or sub-compatible ID
"RNDIS"
(0x52 0x4E 0x44 0x49 0x53 0x00 0x00 0x00)
(0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) Remote Network Driver Interface Standard (RNDIS)
"PTP"
(0x50 0x54 0x50 0x00 0x00 0x00 0x00 0x00)
(0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) Picture Transfer Protocol (PTP)
"MTP"
(0x4D 0x54 0x50 0x00 0x00 0x00 0x00 0x00)
(0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) Media Transfer Protocol (MTP)
"XUSB20"
(0x58 0x55 0x53 0x42 0x32 0x30 0x00 0x00)
(0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) XNACC (Krypton)
"BLUTUTH"
(0x42 0x4C 0x55 0x54 0x55 0x54 0x48 0x00)
"11"
(0x31 0x31 0x00 0x00 0x00 0x00 0x00 0x00)
Bluetooth radios compliant with v1.1 and compatible with the Microsoft driver stack
"12"
(0x31 0x32 0x00 0x00 0x00 0x00 0x00 0x00)
Bluetooth radios compliant with v1.2 and compatible with the Microsoft driver stack
"EDR"
(0x45 0x44 0x52 0x00 0x00 0x00 0x00 0x00)
Bluetooth radios compliant with v2.0 + EDR and compatible with the Microsoft driver stack
Bluetooth
"SCAN"
(0x53 0x43 0x41 0x4E 0x00 0x00 0x00 0x00)

Format as follows: 2 Letter vendor code + 1-5 ASCII characters* + 0x00

*ASCII restricted to uppercase letters, numbers, underscores.

Scan
"3DPRINT"
(0x33 0x44 0x50 0x52 0x49 0x4E 0x54 0x00)
Varies MS3DPRINT G-Code 3D Printer

This information applies to Windows XP and later versions of Windows.

Microsoft OS Descriptors的更多相关文章

  1. WCID Devices -- Windows Compatible ID Devices

    WCID Devices What is WCID? A WCID device, where WCID stands for "Windows Compatible ID", i ...

  2. 『翻译』Access USB Devices on the Web

    https://developers.google.com/web/updates/2016/03/access-usb-devices-on-the-web Access USB Devices o ...

  3. sigar

    从http://sourceforge.net/projects/sigar/files/sigar/1.6/hyperic-sigar-1.6.4.zip/download下载sigar, 参照了h ...

  4. 在Virtual Box虚拟机中安装MS DOS!

    原文地址:https://mylinuxramblings.wordpress.com/2010/12/05/linux-mint-debian-edition-lmde-first-impressi ...

  5. (英文版)使用Visual Studio 2015 编写 MASM 汇编程序!

    原文地址:http://kipirvine.com/asm/gettingStartedVS2015/index.htm#CreatingProject Getting Started with MA ...

  6. GAC write failed when upgrade with InstallShield

    在接近final-build的时候,突然发现当前版本从上一个版本upgrade的时候,需要写到GAC (Global Assembly Cache)的assambly会写失败掉.但是只会在特定的Mic ...

  7. 矩阵乘法 and BIOS loads MBR into 0x7C00?

    tianpeng <再谈矩阵与矩阵乘法> 讲的也好 矩阵乘矩阵 这个结果是怎么算出来的? 第一个矩阵第一行的每个数字(2和1),各自乘以第二个矩阵第一列对应位置的数字(1和1),然后将乘积 ...

  8. nexus 7 2013 驱动安装及root

    驱动安装 Nexus 7 2013连接上电脑后,设备管理器显示新设备 nexus 7 待安装驱动(其实是MTP设备待安装驱动).去谷歌网站下载最新的USB驱动,version 8.0 的.与以前的版本 ...

  9. AU3学习笔记

    目录 1. AU3是什么?能做什么? 2. 乱学AU3中的命令(语言相关)? 3. 通过简单示例学习AU3? 4. 正则表达式的学习(对大小写敏感) 5.对于GUI的相关学习 1.        AU ...

随机推荐

  1. UVALive 6176 Faulhaber's Triangle

    题目链接 http://acm.sdibt.edu.cn/vjudge/ojFiles/uvalive/pdf/61/6177.pdf 题意是  给定一个数n,代表着一共有n个人,且他们的身高从1到n ...

  2. rap 部署

    Rap 安装 war包下载地址 https://github.com/thx/RAP/releases 创建数据库,并创建权限用户 mysql> create database rap_db c ...

  3. Linux驱动中completion接口浅析(wait_for_complete例子,很好)

    completion是一种轻量级的机制,它允许一个线程告诉另一个线程工作已经完成.可以利用下面的宏静态创建completion:                          DECLARE_CO ...

  4. 关于阿里云和ucloud云服务器负载均衡器slb和ulb会话保持的配置

    在阿里云slb或者ucloud的ulb上对公司网站后台做了负载均衡以后,发现经常需要重新登录,单独访问没有这样的问题,问题就出在session的保持上,在云控制台中有配置会话的相关选项 阿里云的配置 ...

  5. OS X 10.11:如何完全停用Time Machine。

    家里的2010年21.5英寸iMac越来越慢,用HFS+分区的1.5TB外置硬盘进行备份时,100G数据经常两三个小时还不能备份完.Time Machine虽然方便,但效率太低,不得不停用. 1. 要 ...

  6. 在阿里云申请Symantec免费SSL证书操作流程

    2016年阿里云与国内证书颁发机构天威诚信推出了基于Symantec(赛门铁克)的免费SSL证书,有需要免费SSL证书产品的可以前往阿里云进行申请. 申请地址:阿里云云盾证书服务—Symantec免费 ...

  7. Dede更新提示DedeTag Engine Create File False的解决办法

    第一种情况:列表.频道.文章等命名规则未填写或填写错误 此种情况较为少见,因为初级用户一般不会去修改这些东西,情况可以大致分为: 命名规则未填写(即为空)解决方法:只需填好相应的规则即可,重新选择栏目 ...

  8. enum 关键字

    java.lang.Enum.java enum :枚举类型当你需要创建一个整型常量集,但是这些枚举值并不会必然地将其自身的取值限制在这个常量的范围之内,这种情况可以用枚举 package objec ...

  9. ERP渠道文档管理(二十四)

    基本需求: 用例图: 存储过程: CREATE PROCEDURE [dbo].[BioErpCrmChannelDocument_ADD] @DocumentID int, @ChannelID i ...

  10. WebApi帮助类

    public class HttpClientBase { /// <summary> /// HttpClient实现Post请求 /// </summary> protec ...