急求关于USB通讯的有关问题

急求关于USB通讯的问题
大家好:
正在写一个USB通讯的程序:

#include "setupapi.h"
#define USBIO_IID {0x325ddf96, 0x938c, 0x11d3, {0x9e, 0x34, 0x00, 0x80, 0xc8, 0x27, 0x27, 0xf4}}
#define DEVICE_NUMBER 0
HDEVINFO DevInfo;

  GUID g_UsbioID=USBIO_IID;
  SP_DEVICE_INTERFACE_DATA DevData;
  SP_INTERFACE_DEVICE_DETAIL_DATA *DevDetail = NULL;
  DWORD ReqLen;
  DevInfo=SetupDiGetClassDevs(&g_UsbioID,NULL,NULL,DIGCF_DEVICEINTERFACE|DIGCF_PRESENT);
  SetupDiEnumDeviceInterfaces(DevInfo, NULL,&g_UsbioID, DEVICE_NUMBER, &DevData );  //返回值为0
  DWORD code =GetLastError();       //错误代码1784
  SetupDiGetDeviceInterfaceDetail(DevInfo, &DevData, NULL,0, &ReqLen, NULL);
  DWORD ni =GetLastError();
  DevDetail = (SP_INTERFACE_DEVICE_DETAIL_DATA*) malloc(ReqLen);
  // now get the detailed device information
  DevDetail->cbSize = sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA);
  SetupDiGetDeviceInterfaceDetail(DevInfo, &DevData, DevDetail,ReqLen, &ReqLen, NULL);
  // open the device, use OVERLAPPED flag if necessary
  // use DevDetail->DevicePath as device name
  hdle = CreateFile(DevDetail->DevicePath,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_WRITE|FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);


错误代码1784看了半天也没找到原因,急求,谢谢。在别的地方开帖给分

------解决方案--------------------
SP_DEVICE_INTERFACE_DATA 需要设置 cbSize.