Partager via


COMMTIMEOUTS (Compact 2013)

3/28/2014

This structure is used in the SetCommTimeouts and GetCommTimeouts functions to set and query the timeout parameters for a communication device.

The members determine the behavior of the ReadFile and WriteFile function operations on the device.

Syntax

typedef struct _COMMTIMEOUTS {
  DWORD ReadIntervalTimeout;
  DWORD ReadTotalTimeoutMultiplier;
  DWORD ReadTotalTimeoutConstant;
  DWORD WriteTotalTimeoutMultiplier;
  DWORD WriteTotalTimeoutConstant;
} COMMTIMEOUTS,*LPCOMMTIMEOUTS;

Members

  • ReadIntervalTimeout
    Specifies the maximum acceptable time, in milliseconds, to elapse between the arrival of two characters on the communication line.

    In Windows Embedded Compact, during a ReadFile operation, the time period begins immediately.

    If the interval between the arrivals of two characters exceeds the time amount specified in ReadIntervalTimeout, the ReadFile operation is completed and buffered data is returned.

    A value of zero indicates that interval timeouts are not used.

  • ReadTotalTimeoutMultiplier
    Specifies the multiplier, in milliseconds, used to calculate the total timeout period for read operations.

    For each read operation, this value is multiplied by the requested number of bytes to be read.

  • ReadTotalTimeoutConstant
    Specifies the constant, in milliseconds, used to calculate the total timeout period for read operations.

    For each read operation, this value is added to the product of the ReadTotalTimeoutMultiplier member and the requested number of bytes.

    A value of zero for the ReadTotalTimeoutMultiplier and ReadTotalTimeoutConstant members indicates that total timeouts are not used for read operations.

  • WriteTotalTimeoutMultiplier
    Specifies the multiplier, in milliseconds, used to calculate the total timeout period for write operations.

    For each write operation, this value is multiplied by the number of bytes to be written.

  • WriteTotalTimeoutConstant
    Specifies the constant, in milliseconds, used to calculate the total timeout period for write operations.

    For each write operation, this value is added to the product of the WriteTotalTimeoutMultiplier member and the number of bytes to be written.

    A value of zero for the WriteTotalTimeoutMultiplier and WriteTotalTimeoutConstant members indicates that total timeouts are not used for write operations.

Remarks

If an application sets ReadIntervalTimeout and ReadTotalTimeoutMultiplier to MAXDWORD and sets ReadTotalTimeoutConstant to a value greater than zero and less than MAXDWORD, one of the following occurs when the ReadFile function is called:

  • If there are characters in the input buffer, ReadFile returns immediately with the characters in the buffer.
  • If there are no characters in the input buffer, ReadFile waits until a character arrives and then returns immediately.
  • If no characters arrive within the time specified by ReadTotalTimeoutConstant, ReadFile times out.

Requirements

Header

winbase.h

See Also

Reference

Serial Communications Structures
GetCommTimeouts
SetCommTimeouts

Other Resources

ReadFile
WriteFile