Exemplo n.º 1
0
        private void CheckResult()
        {
            uint nNumberOfBytesTransferred = 0U;

            if (writeCount <= 0)
            {
                return;
            }
            if (Win32Com.GetOverlappedResult(hPort, ptrUWO, out nNumberOfBytesTransferred, checkSends))
            {
                if (!checkSends)
                {
                    return;
                }
                writeCount -= (int)nNumberOfBytesTransferred;
                if (writeCount != 0)
                {
                    ThrowException("Send Timeout");
                }
                writeCount = 0;
            }
            else
            {
                if ((long)Marshal.GetLastWin32Error() == 996L)
                {
                    return;
                }
                ThrowException("Write Error");
            }
        }