向USB设备传输图像 请大家解决问题

ssbelle 2009-02-22 02:28:50
目的是向USB设备传输图像并显示 USB设备已经做好了 驱动正常 而且有测试程序 只要选择一个文件 点发送 最终设备就可以显示图像了
现在我要做的就是在另一个复杂点的程序中也实现这个功能 但是目前总是不成功 因为是第一次接触USB传输的领域 请大家不吝赐教 多谢了

代码如下:

// 加PIPE0和不加PIPE0 hFile是一样的 , 如果加PIPE1则不一样 在我先前的测试过程中,PIPE0可以单步调试过WriteFile那行函数 但是返回无效的句柄错误 。 而现在 PIPE0和PIPE1都是走到WriteFile那一行再运行 便跳出程序界面 再也回不到调试功能了 不知道是异常跳出还是什么 点关闭程序还是能关闭的 就是再也执行不到贴出的这些代码了

CString strDev = "\\\\.\\DevName\\PIPE0";
HANDLE hFile = CreateFile( strDev,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if ( INVALID_HANDLE_VALUE == hFile )
{
iErrCode = GetLastError();
}
else
{
DWORD nBytesWritten = 0;
CFile file;
file.Open("D:\\image.bin",CFile::modeRead);
int iLength = file.GetLength();
char* pData = new char[iLength];
memset(pData,0,iLength);
int iRead = file.Read(pData,iLength);

BOOL bWrite = FALSE;
try
{
// 这一行就跳出调试功能了
bWrite = WriteFile( hFile, pData , iLength, &nBytesWritten, NULL);
}
catch(...)
{
AfxMessageBox("asdf");
}


if ( bWrite )
{

}
else
{
iErrCode = GetLastError();
bWrite = CloseHandle( hFile );
}

delete []pData;
}


请大家看看这是什么问题 , 并如何解决WriteFile的问题 再谢!
...全文
130 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
huanghangping 2009-03-02
  • 打赏
  • 举报
回复
看不出来呢。。。。。。。
alvinsunxiang 2009-02-22
  • 打赏
  • 举报
回复
F11看看问题在哪
ssbelle 2009-02-22
  • 打赏
  • 举报
回复
wocow3 谢谢你的回答
还是一样 返回句柄无效 显示无变化
wocow3 2009-02-22
  • 打赏
  • 举报
回复
hFile = CreateFile(
strDev,
GENERIC_WRITE,
FILE_SHARE_WRITE,
NULL, // no SECURITY_ATTRIBUTES structure
OPEN_EXISTING, // No special create flags
0, // No special attributes
NULL); // No template file
试试
ssbelle 2009-02-22
  • 打赏
  • 举报
回复
现在是 去掉PIPE0或者1 只写 \\\\.\\DevName
可以通过WriteFile 但是返回0 错误码是无效句柄
也在网上搜过类似的题目 但是都说的不是很清晰
有人说这已经成功了 但是我的数据并没有传到设备里 而且设备还死掉了
必须重新插一次才能重新使用

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧