rainysky1224
驱动牛犊
驱动牛犊
  • 注册日期2003-02-16
  • 最后登录2004-10-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:990回复:0

CUsbIoReader::WriteSync(*,*,*)函数到底把数据写到哪里去了

楼主#
更多 发布于:2003-02-18 13:15
VC应用程序控制与u盘通信,数据传输

CUsbIoReader Pipe;
g_DevList = CUsbIo::CreateDeviceList(&g_UsbioID);
GUID g_UsbioID = USBIO_IID;
//系统定义,该参数在其他api函数中运行没问题。
Status = Pipe.Bind(DevNb,ENDPOINT_ADDRESS,g_DevList,&g_UsbioID);
  if ( Status != USBIO_ERR_SUCCESS ) {
    PrintError(Status);
    return;
  }
Status = Pipe.WriteSync(WtBuf,TransSize,1000);

其中DevNb=0,ENDPOINT_ADDRESS等于0x02,WtBuf预制0--128数据,
TransSize为128。
以上代码执行后没有出现错误信息。
当我想读回数据时。把bind参数中的ENDPOINT_ADDRESS改成0x81或
0x81,然后
Status = Pipe.ReadSync(RdBuf,RdByteCount,1000);
  if ( Status == USBIO_ERR_SUCCESS ) {
 fprintf(stderr,\"read data %s.\\n\",RdByteCount);
    // RdByteCount contains the number of bytes successfully read
  } else {
    // time-out or failed
    PrintError(Status);
  }

却读不出数据到RdBuf缓冲了,错误类型:超时返回。
补充:在检测我的U盘,终端地址描述中,只有3各地址:
0x81,0x02,0x83。

请各位行家指点:我的数据哪里去了?怎么读回来?盼复

最新喜欢:

eyeszhueyeszh...
just do it
游客

返回顶部