UVC红外相机MS OS 2.0平台描述符
2023-03-02
268
0
前一节在获取了BOS描述符之后,从其解析出平台描述符,故需要对主机发起厂商控制请求来获取 MS OS 2.0 描述符。
MS OS 2.0 描述符集我括的内容如下:
- 设置标头
- 配置子集标头
- 颜色相机函数子集标头
- 传感器组 ID 的注册表值功能描述符
- 传感器组名称的注册表值功能描述符
- 用于启用静止映像捕获的注册表值功能描述符
- 用于启用平台 DMFT 的注册表值功能描述符
- IR 相机函数子集标头
- 传感器组 ID 的注册表值功能描述符
- 传感器组名称的注册表值功能描述符
- 用于将相机注册为传感器相机的注册表值功能描述符
固件将为供应商请求提供处理程序,该请求将返回本部分开头所述的虚构设备的以下 MS OS 2.0 描述符。
UCHAR USBVideoMSOS20DescriptorSet[0x2C8] =
{
/* Microsoft OS 2.0 Descriptor Set Header */
0x0A, 0x00, // wLength of MSOS20_SET_HEADER_DESCRIPTOR
0x00, 0x00, // wDescriptorType == MSOS20_SET_HEADER_DESCRIPTOR
0x00, 0x00, 0x00, 0x0A, // dwWindowsVersion – 0x10000000 for Windows 10
0xC8, 0x02, // wTotalLength - Total length 0x2C8 (712)
/* Microsoft OS 2.0 Configuration Subset Header */
0x08, 0x00, // wLength of MSOS20_SUBSET_HEADER_CONFIGURATION
0x01, 0x00, // wDescriptorType == MSOS20_SUBSET_HEADER_CONFIGURATION
0x00, // bConfigurationValue set to the first configuration
0x00, // bReserved set to 0.
0xBE, 0x02, // wTotalLength - Total length 0x2BE (702)
/****************Color Camera Function******************/
/* Microsoft OS 2.0 Function Subset Header */
0x08, 0x00, // wLength of MSOS20_SUBSET_HEADER_FUNCTION
0x02, 0x00, // wDescriptorType == MSOS20_SUBSET_HEADER_FUNCTION
0x00, // bFirstInterface field of the first IAD
0x00, // bReserved set to 0.
0x6E, 0x01, // wSubsetLength - Length 0x16E (366)
/****************Register the Color Camera in a sensor group******************/
/* Microsoft OS 2.0 Registry Value Feature Descriptor */
0x80, 0x00, // wLength 0x80 (128) in bytes of this descriptor
0x04, 0x00, // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
0x01, 0x00, // wPropertyDataType - REG_SZ
0x28, 0x00, // wPropertyNameLength – 0x28 (40) bytes
'U', 0x00, 'V', 0x00, // Property Name - "UVC-FSSensorGroupID"
'C', 0x00, '-', 0x00,
'F', 0x00, 'S', 0x00,
'S', 0x00, 'e', 0x00,
'n', 0x00, 's', 0x00,
'o', 0x00, 'r', 0x00,
'G', 0x00, 'r', 0x00,
'o', 0x00, 'u', 0x00,
'p', 0x00, 'I', 0x00,
'D', 0x00, 0x00, 0x00,
0x4E, 0x00, // wPropertyDataLength – 0x4E (78) bytes
// FSSensorGroupID GUID in string format:
// "{20C94C5C-F402-4F1F-B324-0C1CF0257870}"
'{', 0x00, '2', 0x00, // This is just an example GUID.
'0', 0x00, 'C', 0x00, // You need to generate and use your
'9', 0x00, '4', 0x00, // own GUID for the sensor group ID
'C', 0x00, '5', 0x00,
'C', 0x00, '-', 0x00,
'F', 0x00, '4', 0x00,
'0', 0x00, '2', 0x00,
'-', 0x00, '4', 0x00,
'F', 0x00, '1', 0x00,
'F', 0x00, '-', 0x00,
'B', 0x00, '3', 0x00,
'2', 0x00, '4', 0x00,
'-', 0x00, '0', 0x00,
'C', 0x00, '1', 0x00,
'C', 0x00, 'F', 0x00,
'0', 0x00, '2', 0x00,
'5', 0x00, '7', 0x00,
'8', 0x00, '7', 0x00,
'0', 0x00, '}', 0x00,
0x00, 0x00,
/* Microsoft OS 2.0 Registry Value Feature Descriptor */
0x56, 0x00, // wLength 0x56 (86) in bytes of this descriptor
0x04, 0x00, // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
0x01, 0x00, // wPropertyDataType - REG_SZ
0x2C, 0x00, // wPropertyNameLength – 0x2C (44) bytes
'U', 0x00, 'V', 0x00, // Property Name - "UVC-FSSensorGroupName"
'C', 0x00, '-', 0x00,
'F', 0x00, 'S', 0x00,
'S', 0x00, 'e', 0x00,
'n', 0x00, 's', 0x00,
'o', 0x00, 'r', 0x00,
'G', 0x00, 'r', 0x00,
'o', 0x00, 'u', 0x00,
'p', 0x00, 'N', 0x00,
'a', 0x00, 'm', 0x00,
'e', 0x00, 0x00, 0x00,
0x20, 0x00, // wPropertyDataLength – 0x20 (32) bytes
// FSSensorGroupName "YourCameraGroup"
'Y', 0x00, 'o', 0x00,
'u', 0x00, 'r', 0x00,
'C', 0x00, 'a', 0x00,
'm', 0x00, 'e', 0x00,
'r', 0x00, 'a', 0x00,
'G', 0x00, 'r', 0x00,
'o', 0x00, 'u', 0x00,
'p', 0x00, 0x00, 0x00,
/****************Enable Still Image Capture for Color Camera************/
/* Microsoft OS 2.0 Registry Value Feature Descriptor */
0x54, 0x00, // wLength 0x54 (84) in bytes of this descriptor
0x04, 0x00, // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
0x04, 0x00, // wPropertyDataType - REG_DWORD
0x46, 0x00, // wPropertyNameLength – 0x46 (70) bytes
'U', 0x00, 'V', 0x00, // Property Name - "UVC-EnableDependentStillPinCapture"
'C', 0x00, '-', 0x00,
'E', 0x00, 'n', 0x00,
'a', 0x00, 'b', 0x00,
'l', 0x00, 'e', 0x00,
'D', 0x00, 'e', 0x00,
'p', 0x00, 'e', 0x00,
'n', 0x00, 'd', 0x00,
'e', 0x00, 'n', 0x00,
't', 0x00, 'S', 0x00,
't', 0x00, 'i', 0x00,
'l', 0x00, 'l', 0x00,
'P', 0x00, 'i', 0x00,
'n', 0x00, 'C', 0x00,
'a', 0x00, 'p', 0x00,
't', 0x00, 'u', 0x00,
'r', 0x00, 'e', 0x00,
0x00, 0x00,
0x04, 0x00, // wPropertyDataLength – 4 bytes
0x01, 0x00, 0x00, 0x00, // Enable still pin capture using Method 2 or Method 3
/****************Enable Platform DMFT for ROI-capable USB Camera************/
/* Microsoft OS 2.0 Registry Value Feature Descriptor */
0x3C, 0x00, // wLength 0x3C (60) in bytes of this descriptor
0x04, 0x00, // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
0x04, 0x00, // wPropertyDataType - REG_DWORD
0x2E, 0x00, // wPropertyNameLength – 0x2E (46) bytes
'U', 0x00, 'V', 0x00, // Property Name - "UVC-EnablePlatformDmft"
'C', 0x00, '-', 0x00,
'E', 0x00, 'n', 0x00,
'a', 0x00, 'b', 0x00,
'l', 0x00, 'e', 0x00,
'P', 0x00, 'l', 0x00,
'a', 0x00, 't', 0x00,
'f', 0x00, 'o', 0x00,
'r', 0x00, 'm', 0x00,
'D', 0x00, 'm', 0x00,
'f', 0x00, 't', 0x00,
0x00, 0x00,
0x04, 0x00, // wPropertyDataLength – 4 bytes
0x01, 0x00, 0x00, 0x00, // Enable Platform DMFT
/****************IR Camera Function*********************************************/
/* Microsoft OS 2.0 Function Subset Header */
0x08, 0x00, // wLength of MSOS20_SUBSET_HEADER_FUNCTION
0x02, 0x00, // wDescriptorType == MSOS20_SUBSET_HEADER_FUNCTION
0x01, // bFirstInterface set of the second function
0x00, // bReserved set to 0.
0x48, 0x01, // wSubsetLength - Length 0x148 (328)
/********Register the IR Camera to the same sensor group as the Color Camera*****/
/* Microsoft OS 2.0 Registry Value Feature Descriptor */
0x80, 0x00, // wLength 0x80 (128) in bytes of this descriptor
0x04, 0x00, // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
0x01, 0x00, // wPropertyDataType - REG_SZ
0x28, 0x00, // wPropertyNameLength – 0x28 (40) bytes
'U', 0x00, 'V', 0x00, // Property Name - "UVC-FSSensorGroupID"
'C', 0x00, '-', 0x00,
'F', 0x00, 'S', 0x00,
'S', 0x00, 'e', 0x00,
'n', 0x00, 's', 0x00,
'o', 0x00, 'r', 0x00,
'G', 0x00, 'r', 0x00,
'o', 0x00, 'u', 0x00,
'p', 0x00, 'I', 0x00,
'D', 0x00, 0x00, 0x00,
0x4E, 0x00, // wPropertyDataLength – 78 bytes
// FSSensorGroupID GUID in string format:
// "{20C94C5C-F402-4F1F-B324-0C1CF0257870}"
'{', 0x00, '2', 0x00,
'0', 0x00, 'C', 0x00,
'9', 0x00, '4', 0x00,
'C', 0x00, '5', 0x00,
'C', 0x00, '-', 0x00,
'F', 0x00, '4', 0x00,
'0', 0x00, '2', 0x00,
'-', 0x00, '4', 0x00,
'F', 0x00, '1', 0x00,
'F', 0x00, '-', 0x00,
'B', 0x00, '3', 0x00,
'2', 0x00, '4', 0x00,
'-', 0x00, '0', 0x00,
'C', 0x00, '1', 0x00,
'C', 0x00, 'F', 0x00,
'0', 0x00, '2', 0x00,
'5', 0x00, '7', 0x00,
'8', 0x00, '7', 0x00,
'0', 0x00, '}', 0x00,
0x00, 0x00,
/* Microsoft OS 2.0 Registry Value Feature Descriptor */
0x56, 0x00, // wLength 0x56 (86) in bytes of this descriptor
0x04, 0x00, // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
0x01, 0x00, // wPropertyDataType - REG_SZ
0x2C, 0x00, // wPropertyNameLength – 0x2C (44) bytes
'U', 0x00, 'V', 0x00, // Property Name - "UVC-FSSensorGroupName"
'C', 0x00, '-', 0x00,
'F', 0x00, 'S', 0x00,
'S', 0x00, 'e', 0x00,
'n', 0x00, 's', 0x00,
'o', 0x00, 'r', 0x00,
'G', 0x00, 'r', 0x00,
'o', 0x00, 'u', 0x00,
'p', 0x00, 'N', 0x00,
'a', 0x00, 'm', 0x00,
'e', 0x00, 0x00, 0x00,
0x20, 0x00, // wPropertyDataLength – 32 bytes
// FSSensorGroupName "YourCameraGroup"
'Y', 0x00, 'o', 0x00,
'u', 0x00, 'r', 0x00,
'C', 0x00, 'a', 0x00,
'm', 0x00, 'e', 0x00,
'r', 0x00, 'a', 0x00,
'G', 0x00, 'r', 0x00,
'o', 0x00, 'u', 0x00,
'p', 0x00, 0x00, 0x00,
/****************Make IR camera visible to applications*********************/
/* Microsoft OS 2.0 Registry Value Feature Descriptor */
0x30, 0x00, // wLength 0x30 (48) in bytes of this descriptor
0x04, 0x00, // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
0x04, 0x00, // wPropertyDataType - REG_DWORD
0x22, 0x00, // wPropertyNameLength – 0x22 (34) bytes
'S', 0x00, 'e', 0x00,
'n', 0x00, 's', 0x00,
'o', 0x00, 'r', 0x00,
'C', 0x00, 'a', 0x00,
'm', 0x00, 'e', 0x00,
'r', 0x00, 'a', 0x00,
'M', 0x00, 'o', 0x00,
'd', 0x00, 'e', 0x00,
0x00, 0x00,
0x04, 0x00, // wPropertyDataLength – 4 bytes
0x01, 0x00, 0x00, 0x00, // This exposes the camera to OS as an IR only camera
// i.e. KSCATEGORY_SENSOR_CAMERA
/* Microsoft OS 2.0 Registry Value Feature Descriptor */
0x3A, 0x00, // wLength 0x3A (58) in bytes of this descriptor
0x04, 0x00, // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
0x04, 0x00, // wPropertyDataType - REG_DWORD
0x2C, 0x00, // wPropertyNameLength – 0x2C (44) bytes
'S', 0x00, 'k', 0x00,
'i', 0x00, 'p', 0x00,
'C', 0x00, 'a', 0x00,
'm', 0x00, 'e', 0x00,
'r', 0x00, 'a', 0x00,
'E', 0x00, 'n', 0x00,
'u', 0x00, 'm', 0x00,
'e', 0x00, 'r', 0x00,
'a', 0x00, 't', 0x00,
'i', 0x00, 'o', 0x00,
'n', 0x00, 0x00, 0x00,
0x04, 0x00, // wPropertyDataLength – 4 bytes
0x01, 0x00, 0x00, 0x00 // This exposes the camera to applications looking for IR only cameras
};
不过我们通过USB总线分析仪抓到的数据这微软提供的示例有稍许区别:
0A 00 00 00 00 00 00 0A A0 03 08 00 01 00 00 00 96 03 08 00 02 00 00 00 BC 01 80 00 04 00 01 00
28 00 55 00 56 00 43 00 2D 00 46 00 53 00 53 00 65 00 6E 00 73 00 6F 00 72 00 47 00 72 00 6F 00
75 00 70 00 49 00 44 00 00 00 4E 00 7B 00 37 00 38 00 44 00 43 00 42 00 37 00 44 00 30 00 2D 00
33 00 33 00 45 00 41 00 2D 00 34 00 35 00 38 00 42 00 2D 00 42 00 39 00 38 00 41 00 2D 00 35 00
36 00 45 00 39 00 41 00 33 00 41 00 34 00 30 00 42 00 35 00 30 00 7D 00 00 00 66 00 04 00 01 00
2C 00 55 00 56 00 43 00 2D 00 46 00 53 00 53 00 65 00 6E 00 73 00 6F 00 72 00 47 00 72 00 6F 00
75 00 70 00 4E 00 61 00 6D 00 65 00 00 00 30 00 52 00 74 00 73 00 2D 00 44 00 4D 00 46 00 54 00
2D 00 47 00 72 00 6F 00 75 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
54 00 04 00 04 00 46 00 55 00 56 00 43 00 2D 00 45 00 6E 00 61 00 62 00 6C 00 65 00 44 00 65 00
70 00 65 00 6E 00 64 00 65 00 6E 00 74 00 53 00 74 00 69 00 6C 00 6C 00 50 00 69 00 6E 00 43 00
61 00 70 00 74 00 75 00 72 00 65 00 00 00 04 00 01 00 00 00 3C 00 04 00 04 00 2E 00 55 00 56 00
43 00 2D 00 45 00 6E 00 61 00 62 00 6C 00 65 00 50 00 6C 00 61 00 74 00 66 00 6F 00 72 00 6D 00
44 00 6D 00 66 00 74 00 00 00 04 00 01 00 00 00 3E 00 04 00 04 00 30 00 45 00 6E 00 61 00 62 00
6C 00 65 00 44 00 73 00 68 00 6F 00 77 00 52 00 65 00 64 00 69 00 72 00 65 00 63 00 74 00 69 00
6F 00 6E 00 00 00 00 00 04 00 00 00 00 00 08 00 02 00 02 00 D2 01 80 00 04 00 01 00 28 00 55 00
56 00 43 00 2D 00 46 00 53 00 53 00 65 00 6E 00 73 00 6F 00 72 00 47 00 72 00 6F 00 75 00 70 00
49 00 44 00 00 00 4E 00 7B 00 37 00 38 00 44 00 43 00 42 00 37 00 44 00 30 00 2D 00 33 00 33 00
45 00 41 00 2D 00 34 00 35 00 38 00 42 00 2D 00 42 00 39 00 38 00 41 00 2D 00 35 00 36 00 45 00
39 00 41 00 33 00 41 00 34 00 30 00 42 00 35 00 30 00 7D 00 00 00 66 00 04 00 01 00 2C 00 55 00
56 00 43 00 2D 00 46 00 53 00 53 00 65 00 6E 00 73 00 6F 00 72 00 47 00 72 00 6F 00 75 00 70 00
4E 00 61 00 6D 00 65 00 00 00 30 00 52 00 74 00 73 00 2D 00 44 00 4D 00 46 00 54 00 2D 00 47 00
72 00 6F 00 75 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 00 04 00
04 00 22 00 53 00 65 00 6E 00 73 00 6F 00 72 00 43 00 61 00 6D 00 65 00 72 00 61 00 4D 00 6F 00
64 00 65 00 00 00 04 00 01 00 00 00 3A 00 04 00 04 00 2C 00 53 00 6B 00 69 00 70 00 43 00 61 00
6D 00 65 00 72 00 61 00 45 00 6E 00 75 00 6D 00 65 00 72 00 61 00 74 00 69 00 6F 00 6E 00 00 00
04 00 01 00 00 00 3C 00 04 00 04 00 2E 00 55 00 56 00 43 00 2D 00 45 00 6E 00 61 00 62 00 6C 00
65 00 50 00 6C 00 61 00 74 00 66 00 6F 00 72 00 6D 00 44 00 6D 00 66 00 74 00 00 00 04 00 01 00
00 00 3E 00 04 00 04 00 30 00 45 00 6E 00 61 00 62 00 6C 00 65 00 44 00 73 00 68 00 6F 00 77 00
52 00 65 00 64 00 69 00 72 00 65 00 63 00 74 00 69 00 6F 00 6E 00 00 00 00 00 04 00 00 00 00 00
其实对照微软提供的示例,这也只是以宽字符串的形式返回需要在注册表中写入的信息。所以这也从侧面验证了可以通过驱动的INF文件中来指定这些信息。
我们对上面的数据进行整理,大概如下:
//Microsoft OS 2.0 Descriptor Set Header
0A 00 // wLength of MSOS20_SET_HEADER_DESCRIPTOR
00 00 // wDescriptorType == MSOS20_SET_HEADER_DESCRIPTOR
00 00 00 0A // dwWindowsVersion – 0x10000000 for Windows 10
A0 03 // wTotalLength - Total length
/****************Color Camera Function******************/
//Microsoft OS 2.0 Configuration Subset Header
08 00 // wLength of MSOS20_SUBSET_HEADER_FUNCTION
01 00 // wDescriptorType == MSOS20_SUBSET_HEADER_CONFIGURATION
00 // bConfigurationValue set to the first configuration
00 // bReserved set to 0
96 03 // wTotalLength - Total length
//Microsoft OS 2.0 Function Subset Header
08 00 // wLength of MSOS20_SUBSET_HEADER_FUNCTION
02 00 // wDescriptorType == MSOS20_SUBSET_HEADER_FUNCTION
00 // bFirstInterface field of the first IAD
00 // bReserved set to 0.
BC 01 // wSubsetLength -
//Microsoft OS 2.0 Registry Value Feature Descriptor
80 00 // wLength 0x80 (128) in bytes of this descriptor
04 00 // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
01 00 // wPropertyDataType - REG_SZ
28 00 // wPropertyNameLength
55 00 56 00 43 00 2D 00 46 00 53 00 53 00 65 00 6E 00 73 00 6F 00 72 00
47 00 72 00 6F 00 75 00 70 00 49 00 44 00 00 00 4E 00 7B 00 37 00 38 00 44 00 43 00 42 00 37 00
44 00 30 00 2D 00 33 00 33 00 45 00 41 00 2D 00 34 00 35 00 38 00 42 00 2D 00 42 00 39 00 38 00
41 00 2D 00 35 00 36 00 45 00 39 00 41 00 33 00 41 00 34 00 30 00 42 00 35 00 30 00 7D 00 00 00
UVC-FSSensorGroupId = {78DCB7D0-33EA-458B-BB98A-56E9A3A40B50}
//Microsoft OS 2.0 Registry Value Feature Descriptor
66 00 // wLength in bytes of this descriptor
04 00 // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
01 00 // wPropertyDataType - REG_SZ
2C 00 // wPropertyNameLength
55 00 56 00 43 00 2D 00 46 00 53 00 53 00 65 00 6E 00 73 00 6F 00 72 00 47 00 72 00 6F 00
75 00 70 00 4E 00 61 00 6D 00 65 00 00 00 30 00 52 00 74 00 73 00 2D 00 44 00 4D 00 46 00 54 00
2D 00 47 00 72 00 6F 00 75 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
UVC-FSSensorGroupName = Rts-DMFT-Group
//Microsoft OS 2.0 Registry Value Feature Descriptor
54 00 // wLength 0x54 (84) in bytes of this descriptor
04 00 // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
04 00 // wPropertyDataType - REG_DWORD
46 00 // wPropertyNameLength
55 00 56 00 43 00 2D 00 45 00 6E 00 61 00 62 00 6C 00 65 00 44 00 65 00 70 00 65 00
6E 00 64 00 65 00 6E 00 74 00 53 00 74 00 69 00 6C 00 6C 00 50 00 69 00 6E 00 43 00 61 00 70 00
74 00 75 00 72 00 65 00 00 00 04 00 01 00 00 00
UVC-EnableDependentStillPinCapture
//Microsoft OS 2.0 Registry Value Feature Descriptor
3C 00
04 00
04 00
2E 00
55 00
56 00
43 00 2D 00 45 00 6E 00 61 00 62 00 6C 00 65 00 50 00 6C 00 61 00 74 00 66 00 6F 00 72 00 6D 00
44 00 6D 00 66 00 74 00 00 00 04 00 01 00 00 00
//Microsoft OS 2.0 Registry Value Feature Descriptor
3E 00 04 00 04 00 30 00 45 00 6E 00 61 00
62 00 6C 00 65 00 44 00 73 00 68 00 6F 00 77 00 52 00 65 00 64 00 69 00 72 00 65 00 63 00 74 00
69 00 6F 00 6E 00 00 00 00 00 04 00 00 00 00 00
//Microsoft OS 2.0 Function Subset Header
08 00 02 00 02 00 D2 01
//Microsoft OS 2.0 Registry Value Feature Descriptor
80 00 04 00 01 00 28 00 55 00 56 00 43 00 2D 00 46 00 53 00 53 00 65 00 6E 00 73 00 6F 00 72 00
47 00 72 00 6F 00 75 00 70 00 49 00 44 00 00 00 4E 00 7B 00 37 00 38 00 44 00 43 00 42 00 37 00
44 00 30 00 2D 00 33 00 33 00 45 00 41 00 2D 00 34 00 35 00 38 00 42 00 2D 00 42 00 39 00 38 00
41 00 2D 00 35 00 36 00 45 00 39 00 41 00 33 00 41 00 34 00 30 00 42 00 35 00 30 00 7D 00 00 00
//Microsoft OS 2.0 Registry Value Feature Descriptor
66 00 04 00 01 00
2C 00 55 00 56 00 43 00 2D 00 46 00 53 00 53 00 65 00 6E 00 73 00 6F 00 72 00 47 00 72 00 6F 00
75 00 70 00 4E 00 61 00 6D 00 65 00 00 00 30 00 52 00 74 00 73 00 2D 00 44 00 4D 00 46 00 54 00
2D 00 47 00 72 00 6F 00 75 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
//Microsoft OS 2.0 Registry Value Feature Descriptor
30 00 04 00 04 00 22 00 53 00 65 00 6E 00 73 00 6F 00 72 00 43 00 61 00 6D 00 65 00 72 00 61 00
4D 00 6F 00 64 00 65 00 00 00 04 00 01 00 00 00
//Microsoft OS 2.0 Registry Value Feature Descriptor
3A 00 04 00 04 00 2C 00 53 00
6B 00 69 00 70 00 43 00 61 00 6D 00 65 00 72 00 61 00 45 00 6E 00 75 00 6D 00 65 00 72 00 61 00
74 00 69 00 6F 00 6E 00 00 00 04 00 01 00 00 00
//Microsoft OS 2.0 Registry Value Feature Descriptor
3C 00 04 00 04 00 2E 00 55 00 56 00
43 00 2D 00 45 00 6E 00 61 00 62 00 6C 00 65 00 50 00 6C 00 61 00 74 00 66 00 6F 00 72 00 6D 00
44 00 6D 00 66 00 74 00 00 00 04 00 01 00 00 00
//Microsoft OS 2.0 Registry Value Feature Descriptor
3E 00 04 00 04 00 30 00 45 00 6E 00 61 00
62 00 6C 00 65 00 44 00 73 00 68 00 6F 00 77 00 52 00 65 00 64 00 69 00 72 00 65 00 63 00 74 00
69 00 6F 00 6E 00 00 00 00 00 04 00 00 00 00 00
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936