阅读:1903回复:2
VC与USB通讯的问题:
版主:
请看看我这段代码,这段代码是用VC检测我的PALM机,GUID是我的PLAM机CLASSGUID(我从注册表中找到的),但程序运行不能通过,检测不到我的PALM机,请大家帮我分析原因,代码如下: HDEVINFO INFO; SP_INTERFACE_DEVICE_DATA INFODATA; PSP_DEVICE_INTERFACE_DATA PINFODATA; PSP_INTERFACE_DEVICE_DETAIL_DATA PINFODATADETAIL; DWORD NeedLength=512; HINSTANCE hInst=AfxGetApp()->m_hInstance; GUID pGuid={0x4D36E978,0xE325,0x11CE,{0xBF,0xC1,0x08,0x00,0x2B,0xE1,0x03,0x18}}; INFO=SetupDiGetClassDevs(&pGuid,NULL,NULL,DIGCF_PRESENT|DIGCF_INTERFACEDEVICE); if(INFO==INVALID_HANDLE_VALUE) { plist->AddString(\"NO HDEVINFO available for this GUID\\n\"); return; } INFODATA.cbSize=sizeof(INFODATA); if(!SetupDiEnumDeviceInterfaces(INFO,NULL,&pGuid,0,&INFODATA)) { plist->AddString(\"NO SP_INTERFACE_DEVICE_DATA available for this GUID instance\\n\"); SetupDiDestroyDeviceInfoList(INFO); return; } plist->AddString(\"Success\"); SetupDiGetDeviceInterfaceDetail(INFO,&INFODATA,NULL,0,&NeedLength,NULL); PINFODATADETAIL=(PSP_INTERFACE_DEVICE_DETAIL_DATA)malloc(NeedLength); if(PINFODATADETAIL==NULL) { plist->AddString(\"NO PSP_INTERFACE_DEVICE_DETAIL_DATA\\n\"); SetupDiDestroyDeviceInfoList(INFO); return; } INFODATA.cbSize=sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA); if(!SetupDiGetDeviceInterfaceDetail(INFO,&INFODATA,PINFODATADETAIL,NeedLength,NULL,NULL)) { plist->AddString(\"Fail\");//程序运行到这里失败 SetupDiDestroyDeviceInfoList(INFO); return; } plist->AddString(PINFODATADETAIL->DevicePath); |
|
最新喜欢:![]() |
沙发#
发布于:2002-04-24 21:41
please phone (0755)2388065 MR:CAOJUN
|
|
板凳#
发布于:2002-04-25 17:42
到 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\DeviceClasses
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Class 去找? 找到后别忘了感谢我! |
|