阅读:937回复:1
高手帮帮忙!
^o^:
我在调用函数: if(!SetupDiGetInterfaceDeviceDetail ( HardwareDeviceInfo, &DeviceInfoData, functionClassDeviceData, INTERFACE_DETAIL_SIZE, NULL, NULL)) { SetupDiDestroyDeviceInfoList( HardwareDeviceInfo ); delete functionClassDeviceData; flag=4; return FALSE; } 时,总是返回FALSE.为什么呢?要如何才能返回正确呢?其中的SetupDiGetClassDevs(),SetupDiEnumDeviceInterfaces()函数返回都已成功了.请高手指点一二!(一定要接上USB设备才能返回正确么?) |
|
|
沙发#
发布于:2004-03-20 20:05
我也没有实际做过,但是,chris_cant的WDM书上是这样做的
1.SetupDiGetClassDevs(),SetupDiEnumDeviceInterfaces调用 2.第一次调用SetupDiGetInterfaceDeviceDetail ( HardwareDeviceInfo,&DeviceInfoData,NULL,0,&ReqLen,NULL) PSP_INTERFACE_DEVICE_DETAIL_DATA.ifDetail=new char[ReqLen]; 3.第二次调用SetupDiGetInterfaceDeviceDetail(HardwareDeviceInfo,&DeviceInfoData,ifDatail,ReqLen,NULL,NULL) 就是说第一次获取信息长度,第二次获取接口设备信息,具体可以参考该书。 |
|