Microsoft OS Descriptors

Updated: July 3, 2007

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.

CompatibleIDSub-compatible IDDescription

(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

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

Please read the license agreement before continuing.

    Microsoft OS Descriptors Specification

License Agreement

The Microsoft OS Descriptor Specification and any accompanying materials (the “Specification”) provided by Microsoft is for your personal use only, and may be used solely for the purpose of implementing the Microsoft OS Descriptor set to interface with (i) a Microsoft OS Descriptor enabled operating system or (ii) other systems authorized by Microsoft to retrieve and use this information. THE SPECIFICATION (OR ANY OF ITS CONTENTS) MAY NOT BE COPIED OR DISTRIBUTED.

Microsoft may have copyrights, patents or pending patent applications covering subject matter in the Specification. To the extent Microsoft has such copyrights, patents or applications, Microsoft agrees to grant a nonexclusive, royalty-free, world-wide license under these copyrights, patents or applications solely to implement the Microsoft OS Descriptor Specification to interface with (i) a Microsoft OS Descriptor enabled operating system or (ii) other systems authorized by Microsoft to retrieve and use this information, on condition that you agree not to assert any intellectual property rights against Microsoft or other companies for their implementation of the Specification. Microsoft reserves all other rights it may have in the Specification. The furnishing of this document does not give you any license to any other Microsoft patents, trademarks, copyrights, or other intellectual property rights.

The Specification is provided "AS IS" without warranty of any kind. To the maximum extent permitted by applicable law, Microsoft further disclaims all warranties, including without limitation any implied warranties of merchantability and fitness for a particular purpose, as well as warranties of title and noninfringement. The entire risk arising out of the use or performance of the Specification remains with you.

To the maximum extent permitted by applicable law, in no event shall Microsoft or its suppliers be liable for any consequential, incidental, direct, indirect, special, punitive, or other damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the Specification, even if Microsoft has been advised of the possibility of such damages. Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.


Top of pageTop of page