hPort = CreateFile(...);
if (hPort == INVALID_HANDLE_VALUE)
{
}
COMMTIMEOUTS CommTimeOuts;
CommTimeOuts.ReadIntervalTimeout = MAXDWORD;
CommTimeOuts.ReadTotalTimeoutMultiplier = 0;
CommTimeOuts.ReadTotalTimeoutConstant = 0;
CommTimeOuts.WriteTotalTimeoutMultiplier = 0;
CommTimeOuts.WriteTotalTimeoutConstant = 2000;
if (!SetCommTimeouts(hPort, &CommTimeOuts))
{
}
DCB wdcb;
GetCommState(hPort, &wdcb);
wdcb.BaudRate = nBaudRate;
wdcb.ByteSize = nByteSize;
wdcb.StopBits = nStopBits;
wdcb.Parity = nParity;
if (!SetCommState(hPort, &wdcb))
{
}
if (!PurgeComm(hPort, PURGE_TXCLEAR | PURGE_RXCLEAR))
{
}