const uint8_t code VendorDesc[170] = { 10,0, // wLength 0,0, // header 0,0,3,6, // OS sizeof (VendorDesc) & 0xFF, sizeof (VendorDesc) >> 8, 8,0, 2,0, // MS_OS_20_SUBSET_HEADER_FUNCTION 0, // bFirstInterface == interface 0 0, // unused 160,0, // wLength 20,0, 3,0, // MS_OS_20_FEATURE_COMPATBLE_ID 'W','I','N','U','S','B',0,0, //Compatible ID String 0,0,0,0,0,0,0,0, //Sub-compatible ID String 132,0, 4,0, // MS_OS_20_FEATURE_REG_PROPERTY 7,0, // Multiple NULL-terminated Unicode strings (REG_MULTI_SZ) // unicode "DeviceInterfaceGUIDs" 0x2A,0, 'D',0,'e',0,'v',0,'i',0,'c',0,'e',0, 'I',0,'n',0,'t',0,'e',0,'r',0,'f',0,'a',0,'c',0,'e',0, 'G',0,'U',0,'I',0,'D',0,'s',0, 0,0, // unicode "{CDB3B5AD-293B-4663-AA36-1AAE46463776}" 0x50,0, '{',0,'C',0,'D',0,'B',0,'3',0,'B',0,'5',0,'A',0,'D',0,'-',0, '2',0,'9',0,'3',0,'B',0,'-',0, '4',0,'6',0,'6',0,'3',0,'-',0, 'A',0,'A',0,'3',0,'6',0,'-',0, '1',0,'A',0,'A',0,'E',0,'4',0,'6',0,'4',0,'6',0,'3',0,'7',0,'7',0,'6',0,'}',0, 0,0, 0,0 }; const uint8_t code BosDesc[40] = { 5,0x0F, // bLength + BOS see 3.0 Spec page 357 sizeof(BosDesc) & 0xFF, // wTotalLengtn sizeof(BosDesc) >> 8, 2, // 2 sets (Extension Desc + MS OS Desc) //USB2 Extension Descriptor (desc 1) 7,0x10, // blength + DEVICE_CAPABILITY see 3.0 Spec page 357 2, // USB 2.0 Extension Descriptor 0,0,0,0, // cap bitmap nothing used //Microsoft OS 2.0 platform capability descriptor header (desc 2) 28,0x10, // bLength + DEVICE CAPABILITY Descriptor 5, // MS_PLATFORM 0, // reserved //MS OS 2.0 descriptor platform capability ID //D8DD60DF-4589-4CC7-9CD2-659D9E648A9F 0xDF,0x60,0xDD,0xD8, 0x89,0x45, 0xC7,0x4C, 0x9C,0xD2, 0x65,0x9D,0x9E,0x64,0x8A,0x9F, 0,0,3,6, // 0x06030000 NTDDI_WINBLUE (W8.1) sizeof (VendorDesc) & 0xFF, sizeof (VendorDesc) >> 8,// vendor request wTotalength VENDOR_CODE, // vendor bRequest code (0x40) 0 // reserved };