# HKMSetDevDescInfo

名称 | HKMSetDevDescInfo 设置设备描述信息
功能 | 设置无涯键鼠盒子的设备描述信息。这个函数设置无涯键鼠盒子的USB接口信息后，由于设备信息改变，系统会重新识别设备和自动安装驱动，需要等待几分钟或更长时间才能正常使用，这个过程中不要拔出盒子，否则会导致系统安装驱动失败。修改后需要关闭设备，等待系统安装驱动完成后再查找和打开设备，否则有些功能会受到影响，无法正常工作。无涯键鼠盒子基础版二代的固件版本大于等于1.2.0才支持此函数。

参数

参数1　设备对象：无类型指针。使用HKMOpen可以创建它。
参数2　VID：无符号32位整形数。USB接口的制造商ID。可设置值的范围0-65535。值为65536时不修改无涯键鼠盒子VID值。
参数3　PID：无符号32位整形数。USB接口的产品ID。可设置值的范围0-65535。值为65536时不修改无涯键鼠盒子PID值。
参数4　版本：无符号32位整形数。USB接口的设备版本。可设置值的范围0-65535。值为65536时不修改无涯键鼠盒子版本值。
参数5　制造商名：字符串(Unicode/Ansi)或者无符号32/64位整型数(32位模块中是32位整型数，64位模块中是64位整型数)。USB接口的制造商名。设置制造商名是字符串（默认是Unicode字符串，可以通过HKMSetMode修改为Ansi字符串）。不修改制造商名时使用无符号32/64位整型数，值为1。
参数6　产品名：字符串(Unicode/Ansi)或者无符号32/64位整型数(32位模块中是32位整型数，64位模块中是64位整型数)。USB接口的产品名。设置产品名是字符串（默认是Unicode字符串，可以通过HKMSetMode修改为Ansi字符串）。不修改产品名时使用无符号32/64位整型数，值为1。
参数7　模式：无符号32位整形数。可取值如下：

值 | 说明
--- | ---
0 | 取消临时设置。
1 | 临时设置，断电（USB接口停电或拔出无涯键鼠盒子）后恢复。
2 | 永久设置，断电后不会恢复，但有设置次数限制，不断电只能设置5次。

参数8　是否鼠标：布尔值。取FALSE时，自动设置设备描述信息，如果同时有键盘模式或者鼠标模式的设备，设置键盘模式的设备的设备描述信息。取TRUE时，自动设置设备描述信息，如果同时有键盘模式或者鼠标模式的设备，设置鼠标模式的设备的设备描述信息。

返回值 | 布尔值。成功返回TRUE，失败返回FALSE。
C语言 例子 | DWORD dwDevId; LPVOID lpDev; dwDevId=HKMSearchDevice(0x1234,0xABCD,0); if(dwDevId==0xFFFFFFFF) { printf("未找到无涯键鼠盒子\n"); return 0; } lpDev=HKMOpen(dwDevId,0); if(lpDev==NULL) { printf("打开无涯键鼠盒子失败\n"); return 0; } //修改设备描述信息，PID和制造商名不修改 HKMSetDevDescInfo(lpDev,0x1235,0x10000,0x0101,(LPCWSTR)1,L"Mouse",1,FALSE); HKMClose(lpDev);