阅读:828回复:1
metalwing,看过来,帮个忙
HANDLE OpenOneDevice (HDEVINFO HardwareDeviceInfo,
PSP_INTERFACE_DEVICE_DATA DeviceInfoData,char *devName) { PSP_INTERFACE_DEVICE_DETAIL_DATA functionClassDeviceData = NULL; ULONG predictedLength = 0; ULONG requiredLength = 0; HANDLE hOut = INVALID_HANDLE_VALUE; int my_error; SetupDiGetInterfaceDeviceDetail (HardwareDeviceInfo,DeviceInfoData,NULL,0,&requiredLength,NULL); predictedLength = requiredLength;// sizeof (SP_FNCLASS_DEVICE_DATA) + 512; functionClassDeviceData = (PSP_INTERFACE_DEVICE_DETAIL_DATA)malloc (predictedLength); functionClassDeviceData->cbSize = sizeof (SP_INTERFACE_DEVICE_DETAIL_DATA); // // Retrieve the information from Plug and Play. //怎么老是这里出错,报1784 if (! SetupDiGetInterfaceDeviceDetail ( HardwareDeviceInfo, DeviceInfoData, functionClassDeviceData, predictedLength, &requiredLength, NULL)) { my_error = GetLastError(); return INVALID_HANDLE_VALUE; } strcpy( devName,functionClassDeviceData->DevicePath) ; hOut = CreateFile ( functionClassDeviceData->DevicePath, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if (INVALID_HANDLE_VALUE == hOut) { } free(functionClassDeviceData); return hOut; } 我用bcb写的,怎么老是在第二次SetupDiGetInterfaceDeviceDetail 是出错啊?报1784,怎么回事啊? |
|
沙发#
发布于:2004-09-24 09:25
不知道.是否SetupDiGetInterfaceDeviceDetail (HardwareDeviceInfo,DeviceInfoData,NULL,0,&requiredLength,NULL)返回类型的问题?
|
|
|