You cannot use the SetFilePointer function with a handle to a nonseeking device, such as a communications device.
刚查了msdn,说是不能用在这这种设备上.
你指出的问题可能是主要原因,我试试看.
先谢了.
从你的代码的运行结果来看,对于你的USB设备,SetFilePointer好像不起作用。你可以判断
一下SetFilePointer的返回值,看看这个函数是否成功。这个函数返回0xFFFFFFFF,表示失败。
if (SetFilePointer(hUSB,offset,NULL,FILE_BEGIN)==0xFFFFFFFF)
ShowMessage(SysErrorMessage(GetLastError()));
USB 设备的读写,没有做过。不知道会怎样。但是你的程序中存在一些问题。
b = ReadFromUSB(pszBuffer,strlen(pData));
Memo1->Lines->Add(pszBuffer);
读出来的数据,后面没有添加字符0(读之前也没有将pszBuffer清为0),直接作为字符串
处理,是要出问题的,就象你看到的第二行,是乱码,就是这个原因造成的。