zoukankan      html  css  js  c++  java
  • ClearCommError()函数

    清除串行端口错误或读取串行端口现在的状态时,可用函数ClearCommError。Windows系统利用此函数清除硬件的通讯错误以及获取通讯设备的当前状态

     ClearCommError()函数原型

    BOOL ClearCommError(
                        HANDLE hFile,   //通信设备的句柄
                        LPDWORD lpErrors,//接收错误代码变量的指针
                        LPCOMSTAT lpStat  //通信状态缓冲区的指针
    );

    ClearCommError()函数参数说明:

      • hFile:串行端冂的Handle值,此值即为使用CreateFile函数后所返回的值
      • lpError:返回错误数值,错误常数如下:
      • CE_BREAK:检测到中断信号。
        CE_DNS:Windows95专用,未被选择的并行端口。
        CE_FRAME:硬件检到框架错误
        CE_IOE:通信设备发生输入/输出綹误,
        CE_MODE:设置模式错误,或是hFile值错误。
        CE_OOP:Wmdows95专用,并行端口发生缺纸错误。CE_OVERRUN:缓冲区容量不足,数据将遗失。
        CE_PTO:Windows95专用,并行端口发生超时错误。
        CE_RXOVER:接收区满溢或在文件结尾被接收到后仍有数据发送过来。
        CE_RXPARITY:硬件检测到校验位检查错误。
        CE_TXFULL:发送缓存区已满后,应用程序仍要发送数据。
      • lpStat:指向通信端口状态的结构变量。此结构的原始声明如下:
    typedef struct _COMSTAT {  //cst
        DWORD fCtsHold : 1;  //Tx正在等待CTS信号  
        DWORD fDsrHold : 1;  //Tx正在等待DSR信号
        DWORD fRlsdHold : 1; //Tx正在等待RLSD信号
        DWORD fXoffHold : 1;  //Tx由于接收XOFF字符而在等待
        DWORD fXoffSent : 1;   //Tx由于发送XOFF字符而在等待
        DWORD fEof : 1;      //发送EOF字符
        DWORD fTxim : 1;     //字符在等待Tx
        DWORD fReserved : 25;   //保留
        DWORD cbInQue;    //输入缓冲区中的字节数
        DWORD cbOutQue;     //输出缓冲区中的字节数
    } COMSTAT, *LPCOMSTAT;

    此结构屮有关参数说明如下:
    fCtsHold:是否正在等待CTS信号。占一个位的位置。
    fDsrHold:是否正在等待DSR信号。占一个位的位置。
    fRlsdHoId:是否正在等待RLSD信号。占一个位的位置。
    fXoftHoId:是否因收到xoff字符而在等待。占一个位的位置。
    fXoffHold:是否因送出xoff字符而使得发送的动作在等待。占一个位置
    cbInQue:在输入缓冲区尚未被ReadFile函数读取的数据字节数。这个参数经常被用来进行状态检查。
    cbOutQue:在发送缓冲区而尚未被发送的据字节数。

  • 相关阅读:
    微服务之集成(四)
    后缀数组
    HDU-6514 Monitor(二维前缀和+差分)
    前缀和、二维前缀和与差分
    2019年icpc上海网络赛 B Light bulbs (分块、差分)
    树状数组
    2019ICPC 上海网络赛 L. Digit sum(二维树状数组+区间求和)
    [USACO09MAR]向右看齐Look Up(单调栈、在线处理)
    Pay Back(模拟)
    [USACO09MAR]Moon哞哞叫Moon Mooing(模拟)
  • 原文地址:https://www.cnblogs.com/rosesmall/p/14822244.html
Copyright © 2011-2022 走看看