|
目的是向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的问题 再谢!
|
|