阅读:990回复:0
CUsbIoReader::WriteSync(*,*,*)函数到底把数据写到哪里去了
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。 请各位行家指点:我的数据哪里去了?怎么读回来?盼复 |
|
最新喜欢:![]()
|