The GetCommModemStatus function retrieves modem control-register values. BOOL GetCommModemStatus(    HANDLE hFile, // handle of communications device  
    LPDWORD lpModemStat // address of control-register values
   );
 ParametershFileIdentifies the communications device. The CreateFile function returns this handle. lpModemStatPoints to a 32-bit variable that specifies the current state of the modem control-register values. This parameter can be a combination of the following values: Value Meaning
MS_CTS_ON The CTS (clear-to-send) signal is on.
MS_DSR_ON The DSR (data-set-ready) signal is on.
MS_RING_ON The ring indicator signal is on.
MS_RLSD_ON The RLSD (receive-line-signal-detect) signal is on.
 Return ValuesIf the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError. ResThe GetCommModemStatus function is useful when you are using the WaitCommEvent function to monitor the CTS, RLSD, DSR, or ring indicator signals. To detect when these signals change state, use WaitCommEvent and then use GetCommModemStatus to determine the state after a change occurs. 
The function fails if the hardware does not support the control-register values. See AlsoCreateFile, WaitCommEvent