// BOS descriptor with platform capability descriptor

UCHAR platform_capability_descriptor[0x21] = {
// BOS descriptor

0x05,				  // Descriptor size (5 bytes)
0x0F,       	// Descriptor type (BOS)
0x21, 0x00,   // Length of this + subordinate descriptors		
 					    // (33 bytes)
0x01,					// Number of subordinate descriptors

// Microsoft OS 2.0 Platform Capability Descriptor

0x1C,					// Descriptor size (28 bytes)
0x10,					// Descriptor type (Device Capability)
0x05,					// Capability type (Platform)
0x00,					// Reserved

// MS OS 2.0 Platform Capability ID (D8DD60DF-4589-4CC7-9CD2-659D9E648A9F)

0xDF, 0x60, 0xDD, 0xD8, 
0x89, 0x45,
0xC7, 0x4C,
0x9C, 0xD2, 
0x65, 0x9D, 0x9E, 0x64, 0x8A, 0x9F,

0x00, 0x00, 0x03, 0x06,		// Windows version (8.1) (0x06030000)
0x9E, 0x00, 			       	// Size, MS OS 2.0 descriptor set (158 bytes)
0x01,					            // Vendor-assigned bMS_VendorCode
0x00					            // Doesn’t support alternate enumeration
}

// Microsoft OS 2.0 Descriptor Set

UCHAR ms_os_20_descriptor_set[0x9E] = {

0x0A, 0x00,					// Descriptor size (10 bytes)
0x00, 0x00,					// MS OS 2.0 descriptor set header
0x00, 0x00, 0x03, 0x06,					// Windows version (8.1) (0x06030000)
0x9E, 0x00,					// Size, MS OS 2.0 descriptor set (158 bytes)

// Microsoft OS 2.0 compatible ID descriptor

0x14, 0x00,						// Descriptor size (20 bytes)
0x03, 0x00,			 		  // MS OS 2.0 compatible ID descriptor
0x57, 0x49, 0x4E, 0x55, 0x53, 0x42, 0x00, 0x00,			// WINUSB string
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,			// Sub-compatible ID

// Registry property descriptor

0x80, 0x00,				// Descriptor size (130 bytes)
0x04, 0x00,				// Registry Property descriptor
0x01, 0x00,				// Strings are null-terminated Unicode
0x28, 0x00,				// Size of Property Name (40 bytes)

//Property Name ("DeviceInterfaceGUID")

0x44, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00,
0x49, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x66, 0x00,
0x61, 0x00, 0x63, 0x00, 0x65, 0x00, 0x47, 0x00, 0x55, 0x00, 0x49, 0x00,
0x44, 0x00, 0x00, 0x00, 

0x4E, 0x00,				// Size of Property Data (78 bytes)

// Vendor-defined Property Data: {ecceff35-146c-4ff3-acd9-8f992d09acdd}

0x7B, 0x00, 0x65, 0x00, 0x63, 0x00, 0x63, 0x00, 0x65, 0x00, 0x66, 0x00,
0x66, 0x00, 0x33, 0x00, 0x35, 0x00, 0x2D, 0x00, 0x31, 0x00, 0x34, 0x00,
0x36, 0x00, 0x33, 0x00, 0x2D, 0x00, 0x34, 0x00, 0x66, 0x00, 0x66, 0x00,
0x33, 0x00, 0x2D, 0x00, 0x61, 0x00, 0x63, 0x00, 0x64, 0x00, 0x39, 0x00,
0x2D, 0x00, 0x38, 0x00, 0x66, 0x00, 0x39, 0x00, 0x39, 0x00, 0x32, 0x00,
0x64, 0x00, 0x30, 0x00, 0x39, 0x00, 0x61, 0x00, 0x63, 0x00, 0x64, 0x00,
0x64, 0x00, 0x7D, 0x00, 0x00, 0x00
}