阅读:2252回复:7
多个完全一样的usb设备,同时接入同一台计算机,如何对他们进行区分?
应该在驱动上改动,还是inf和应用软件上进行改动?
请高手指点。 |
|
|
沙发#
发布于:2007-03-22 08:46
通过instance id来区分
|
|
|
板凳#
发布于:2007-03-21 16:41
顶了,不过还是不太明白
|
|
地板#
发布于:2004-06-11 11:31
我觉得这个问题最好在DEVICE上加入序列号,这样不用管插入PC的USB口和插入的先后顺序了。
PC对其的区分应该时根据插入的先后顺序来的。 |
|
|
地下室#
发布于:2004-06-10 16:16
对同时接入的多个设备可以分别操作
|
|
|
5楼#
发布于:2004-06-10 15:58
你想区分什么??不太明白
应该是对每个设备进行同样操作吧? 应该在驱动上改动,还是inf和应用软件上进行改动? |
|
|
6楼#
发布于:2004-06-10 15:51
至少应用程序可以分别对每个设备进行操作,我看到一篇文章中说在creatfile函数中的参数改动来区分:
HANDLE hDevice0 = CreateFile("\\\\.\\DriverDevice0", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); HANDLE hDevice1 = CreateFile("\\\\.\\DriverDevice1", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); 可是如果用guid来标示,在下面的函数中(ds生成的openbyinterface函数中的部分): HANDLE hDev; CDeviceInterfaceClass DevClass(pClassGuid, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; CDeviceInterface DevInterface(&DevClass, instance, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; hDev = CreateFile( DevInterface.DevicePath(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); 怎么来区分? 谢谢。 |
|
|
7楼#
发布于:2004-06-10 15:36
你想区分到什么程度,可以在AP里分开操作他们,但具体知道是哪一个就很麻烦
|
|
|