DWORD CComm::WriteComm(LPCVOID lpBuf, DWORD dwWrite)
{
if( m_hCom == NULL ) return 0;
DWORD dwWritten=0;
COMSTAT ComStat;
DWORD dwErrorFlags;
ClearCommError(m_hCom,&dwErrorFlags,&ComStat);
WriteFile(m_hCom, lpBuf, dwWrite, &dwWritten, NULL);
int r=GetLastError();
return dwWritten;
}r返回错误87 参数错误单步至此参数如下
lpBuf 0x0012fe34
dwWrite 1
dwWritten 0
m_hCom 0x00000730调用来自packet BYTE类型
if(m_com.WriteComm(packet,1)==0) MessageBox("错误");
{
if( m_hCom == NULL ) return 0;
DWORD dwWritten=0;
COMSTAT ComStat;
DWORD dwErrorFlags;
ClearCommError(m_hCom,&dwErrorFlags,&ComStat);
WriteFile(m_hCom, lpBuf, dwWrite, &dwWritten, NULL);
int r=GetLastError();
return dwWritten;
}r返回错误87 参数错误单步至此参数如下
lpBuf 0x0012fe34
dwWrite 1
dwWritten 0
m_hCom 0x00000730调用来自packet BYTE类型
if(m_com.WriteComm(packet,1)==0) MessageBox("错误");
解决方案 »
- html网页的内容接收完毕,但转换成_bstr_t对象时出错
- 怎样将剪贴板上的位图数据保存为BMP图片??
- Gdiplus::Graphics DrawImage的问题
- 文件读问题:读文件的路径问题(对本地文件可以处理,但是对服务器上的文件不能处理)
- 从.txt文件画波形的算法。谢谢!
- CArray动态数组是如何使用的呢?
- 请问在vc自动关闭是为什么??
- 如何得到这个new的实例?挺急的,谢谢
- winsdk32是一个什么?里面有midl.exe文件吗?谢谢?
- 自画编辑框的问题,如能解决,承诺多次加分,而且能互相探讨。
- [拍砖]看到这样的回复帖子我很抓狂, 顺便散分
- Windows自带画图中任意多边形选取工具的实现
我是这么用的
你可以参考一下
int CWEComm::Write(char *pBuf, int nLen)
{
if(!IsOpen() || !pBuf)
return 0; DWORD dwError;
OVERLAPPED olWirte;
unsigned long ulWLen = 0; if(ClearCommError(m_hComm, &dwError, NULL) && dwError > 0)
PurgeComm(m_hComm, PURGE_TXABORT | PURGE_TXCLEAR); memset(&olWirte, 0, sizeof(olWirte));
olWirte.hEvent = CreateEvent(NULL, true, false, NULL);
if(olWirte.hEvent == INVALID_HANDLE_VALUE)
return NULL;
if(!WriteFile(m_hComm, pBuf, nLen, &ulWLen, &olWirte))
{
if(GetLastError()!=ERROR_IO_PENDING)
ulWLen = 0;
}
CloseHandle(olWirte.hEvent); return ulWLen;
}
{
return TRUE;
}