我在MFC中用CreateFile() —— WriteFile()向com口中写入数据,但是WriteFile()的返回值为0,可是CreateFile()的返回值是正确的。请问这是怎么回事?谢谢!
解决方案 »
- opengl库对硬件(平台)有什么要求?
- 用VirtualAlloc,得到的物理存储器是硬盘上的,还是内存,硬盘都可能有?
- tinyxml在MFC环境下使用, loadFile总是出错?
- 如何知道一个DWORD类型变量的确切值
- 超难问题!!!如何能够拦截ie自动弹出的下载对话框,并能取得下载东西的路径或内容?
- 请教各位大侠关于使用nero进行光盘刻录的问题
- m_IPEdit1.GetAddress(B1[0],B1[1],B1[2],B1[3]);错在哪?
- 在SOCKET 编程中怎么解决在不同网速间的传输问题?
- VC用ADO连接Oracle数据库的问题
- 中国的软件公司都这样吗???
- 哪位高手能帮我写个com口的小程序啊!
- 望各位帅哥帮小弟一个忙!
command[0] = 0x2;
command[1] = 0x01;
command[2] = 0x59;
command[3] = 0x00;
command[4] = 0x8C;
command[5] = 0x00;
command[6] = 0x00;
command[7] = 0x3; m_pComm.WriteCommBlock ((LPSTR)command, 8);其中WriteCommBlock是一个自定义的函数,如下:
BOOL CComm::WriteCommBlock( LPSTR lpByte , DWORD dwBytesToWrite)
{ BOOL fWriteStat ; //写函数参数返回
DWORD dwBytesWritten ; //定义要写的数据
fWriteStat = WriteFile( idComDev, lpByte, dwBytesToWrite,
&dwBytesWritten, &osWrite ) ;
if (!fWriteStat)
{
AfxMessageBox("写入不成功");
}
return ( TRUE ) ;}
看看怎么回事
FILE_FLAG_OVERLAPPED
你需要
BOOL GetOverlappedResult(
HANDLE hFile, // handle to file, pipe, or comm device
LPOVERLAPPED lpOverlapped, // pointer to overlapped structure
LPDWORD lpNumberOfBytesTransferred, // pointer to actual bytes count
BOOL bWait // wait flag
);