Table 3: Behavior of Read Timeout Value Combinations
I = Interval ms
T = Total ms (Multiplier * Bytes_Requested) + Constant
Interval Total Behavior
------------------------------------------------------
MAXDWORD 0 No read timeouts. Return immediately
with any available data.
MAXDWORD * Special case. If the interval and
multiplier values are both set to
MAXDWORD, and the constant is set to
any non-zero value less than MAXDWORD,
one of the following occurs:
If there are any characters in the
input buffer, return immediately with
those characters.
If there are no characters in the
input buffer, wait until a character
arrives and then return immediately.
If no character arrives within the
time specified by the constant value,
a timeout occurs.
0 0 Return only when the buffer is
completely filled. Timeouts are not
used.
0 T Returns when the buffer is completely
filled or when T milliseconds have
elapsed since the beginning of the
operation.
I 0 Returns when the buffer is completely
filled or when I milliseconds have
elapsed between the receipt of any two
characters. Timing does not begin
until the first character is received.
I T Returns when the buffer is completely
filled or when either type of timeout
occurs.