阅读:4988回复:3
应用程序中得到USB设备的GUID和VID,PID后如何得到该设备的名称(SymbolicName),以便用CreateFile打开!
应用程序中得到USB设备的GUID和VID,PID后如何得到该设备的名称(SymbolicName),以便用CreateFile打开!
|
|
最新喜欢:![]() |
沙发#
发布于:2004-07-08 20:26
SetupDiGetClassDevs
SetupDiEnumDeviceInterfaces SetupDiGetInterfaceDeviceDetail 具体参看Driver Studio中的CDeviceInterfaceClass、CDeviceInterface类。 |
|
|
板凳#
发布于:2004-07-09 09:28
我的程序是这样的
//得到该GUID的句柄 hDevInfo = SetupDiGetClassDevs(&Guid,NULL,NULL, DIGCF_PRESENT|DIGCF_DEVICEINTERFACE); if(hDevInfo==NULL) { return NULL; } SP_DEVICE_INTERFACE_DATA DevInterfaceData; DevInterfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA); DevInterfaceData.InterfaceClassGuid=Guid; BOOL bSuccess = SetupDiEnumDeviceInterfaces hDevInfo,NULL,&Guid,index, &DevInterfaceData);//index=11; //bSuccess返回值为0 if (!bSuccess) { SetupDiDestroyDeviceInfoList(hDevInfo); return NULL; } SetupDiGetDeviceInterfaceDetail(hDevInfo, &DevInterfaceData, NULL, 0, &requiredLength, NULL); detailData=(PSP_INTERFACE_DEVICE_DETAIL_DATA) malloc (requiredLength); detailData->cbSize =sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA); if( !SetupDiGetDeviceInterfaceDetail(hDevInfo, &DevInterfaceData, detailData, requiredLength, NULL, NULL)) { SetupDiDestroyDeviceInfoList(hDevInfo); delete detailData; return NULL; } else { ............ } ......... |
|
地板#
发布于:2004-07-13 10:37
在应用程序加入
#include "setupapi.h" #include "devintf.h" #pragma comment(lib,"setupapi.lib") devintf.h是DS带的,在devintf.h中有使用说明 打开USB设备时得到的路径名需加上管道名,再CreateFile |
|
|