GetCommModemStatus 函数 (winbase.h)

检索调制解调器控制寄存器值。

语法

BOOL GetCommModemStatus(
  [in]  HANDLE  hFile,
  [out] LPDWORD lpModemStat
);

参数

[in] hFile

通信设备的句柄。 CreateFile 函数返回此句柄。

[out] lpModemStat

指向接收调制解调器控制寄存器值的当前状态的变量的指针。 此参数可使用以下一个或多个值。

含义
MS_CTS_ON
0x0010
CTS (明确发送) 信号处于打开状态。
MS_DSR_ON
0x0020
DSR (数据集就绪) 信号已打开。
MS_RING_ON
0x0040
环形指示器信号已打开。
MS_RLSD_ON
0x0080
RLSD (receive-line-signal-detect) 信号处于打开状态。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

使用 WaitCommEvent 函数监视 CTS、RLSD、DSR 或环形指示器信号时,GetCommModemStatus 函数非常有用。 若要检测这些信号何时更改状态,请使用 WaitCommEvent ,然后使用 GetCommModemStatus 确定发生更改后的状态。

如果硬件不支持 control-register 值,则函数失败。

要求

要求
最低受支持的客户端 Windows XP [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

通信函数

通信资源

CreateFile

WaitCommEvent