rt,谢谢大家!
解决方案 »
- OpenProcess 错误,返回GetLastError为87
- 这种声明函数是啥意思?
- 关于阅读《Windows网络编程》完成端口部分的疑问(参与就有分!!!!!!)
- 急!在线等待!求矢量中文字库的显示算法!
- 刚学者求问?
- 请问:什么是MFC库消息映射?
- 为什么这样不行??有那位专家可以指点吗????我没有分了!!我很急有那位能帮我吗?谢谢!
- 我如何将资料从有部分损坏的软盘上转移出来?
- 菜鸟的问题.
- 如何更改static text内的字体格式?
- WINDOWS程序设计里一个例子,我想问的是调用moveWindow()函数后消息产生的顺序
- 为何SetupDiEnumDeviceInterfaces总返回0
GUID* guid;
guid=(GUID*)(void*)&Guid;
HDEVINFO DeviceInfoSet;
DeviceInfoSet=SetupDiGetClassDevs(guid,NULL,NULL,DIGCF_PRESENT|DIGCF_DEVICEINTERFACE);
if(DeviceInfoSet==INVALID_HANDLE_VALUE)
{
MessageBox("ERROR1");
return;
}
DWORD nIndex=0;
BOOL bRet=TRUE; SP_DEVICE_INTERFACE_DATA devInterfaceData= {0};;
devInterfaceData.cbSize=sizeof(SP_DEVICE_INTERFACE_DATA);
SP_DEVICE_INTERFACE_DETAIL_DATA devInterfaceDetail;
devInterfaceDetail.cbSize=sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
DWORD dwSize=0; SP_DEVINFO_DATA DevInfo1 = {0};
DevInfo1.cbSize = sizeof(SP_DEVINFO_DATA); for(;bRet;nIndex++)
{
bRet=SetupDiEnumDeviceInterfaces(DeviceInfoSet,NULL,guid,nIndex,&devInterfaceData);
if(!bRet)
{
MessageBox("ERROR2");
break;
}
SetupDiGetDeviceInterfaceDetail(DeviceInfoSet,&devInterfaceData,NULL,0,&dwSize,NULL);
PSP_INTERFACE_DEVICE_DETAIL_DATA pDevIfDetail ;
pDevIfDetail =new SP_INTERFACE_DEVICE_DETAIL_DATA[dwSize];
pDevIfDetail->cbSize = sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA); SP_DEVINFO_DATA DevInfo = {0};
DevInfo.cbSize = sizeof(SP_DEVINFO_DATA);
if(!SetupDiGetDeviceInterfaceDetail(DeviceInfoSet,&devInterfaceData,pDevIfDetail,dwSize, NULL, &DevInfo))
{
//free((PVOID) pDevIfDetail);
delete pDevIfDetail;
continue;
}
TCHAR fname[256] = {0};
if(!SetupDiGetDeviceRegistryProperty(DeviceInfoSet, &DevInfo, SPDRP_FRIENDLYNAME, NULL, (PBYTE) fname, sizeof(fname), NULL) &&
!SetupDiGetDeviceRegistryProperty(DeviceInfoSet, &DevInfo, SPDRP_DEVICEDESC, NULL, (PBYTE) fname, sizeof(fname), NULL))
{
MessageBox("ERROR3");
} // IUPnPDevice::FriendlyName(pbstr);
MessageBox(devInterfaceDetail. DevicePath);
free((PVOID)pDevIfDetail);
} SetupDiDestroyDeviceInfoList(DeviceInfoSet);