Hello Everybody,
Please help me to solve the following trouble.
I want to write an application to send and receive data through com port.
I am using VC++ .Net 2003 for creating this MFC application.
I write a Function to write data on com port as follows.
Code:
void CSerialCommTesterDlg ::WriteData ()
{
BOOL ans;
int length=0 ;
UpdateData ();
length = m_enter_text.GetAllocLength ();
ans=WriteFile(hComm , &m_enter_text, length, &dwWritten, &ovlw);
error_no = GetLastError ();
if(GetOverlappedResult(hComm ,&ovlw,&dwWritten ,TRUE)==S_OK )
{
m_idc_status.Format("No of Bytes send: %d", dwWritten );
UpdateData (FALSE);
}
error_no = GetLastError ();
}
I have successfully initialized com port and set the DCB.
WriteFile() function returns 0, that means it has failed.
and GetLastError returns 997, i.e. I/O pending, but in this situation dwWritten in GetOverLappedResult() is still giving me the exact no. of bytes written.
Thus I am not able to send data. Plz help