WinBase.COMMTIMEOUTS (JNA API)
Description: declaration: package: com.sun.jna.platform.win32, interface: WinBase, class: COMMTIMEOUTS

Package com.sun.jna.platform.win32

# Class WinBase.COMMTIMEOUTS

java.lang.Object
com.sun.jna.Structure
com.sun.jna.platform.win32.WinBase.COMMTIMEOUTS

Enclosing interface:
  WinBase

@FieldOrder({"ReadIntervalTimeout","ReadTotalTimeoutMultiplier","ReadTotalTimeoutConstant","WriteTotalTimeoutMultiplier","WriteTotalTimeoutConstant"}) public static class WinBase.COMMTIMEOUTS extends Structure
Contains the time-out parameters for a communications device. The parameters determine the behavior of `Kernel32.ReadFile(com.sun.jna.platform.win32.WinNT.HANDLE, byte[], int, com.sun.jna.ptr.IntByReference, com.sun.jna.platform.win32.WinBase.OVERLAPPED)`, `Kernel32.WriteFile(com.sun.jna.platform.win32.WinNT.HANDLE, byte[], int, com.sun.jna.ptr.IntByReference, com.sun.jna.platform.win32.WinBase.OVERLAPPED)`, ReadFileEx, and WriteFileEx operations on the device.
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 any bytes in the input buffer, ReadFile returns immediately with the bytes in the buffer.
- If there are no bytes in the input buffer, ReadFile waits until a byte arrives and then returns immediately.
- If no bytes arrive within the time specified by ReadTotalTimeoutConstant, ReadFile times out.

Author:
  Markus

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class com.sun.jna.Structure

  `Structure.ByReference, Structure.ByValue, Structure.FieldOrder, Structure.StructField`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `WinDef.DWORD`
  `ReadIntervalTimeout`
  The maximum time allowed to elapse before the arrival of the next byte on the communications line, in milliseconds.
  `WinDef.DWORD`
  `ReadTotalTimeoutConstant`
  A constant used to calculate the total time-out period for read operations, in milliseconds.
  `WinDef.DWORD`
  `ReadTotalTimeoutMultiplier`
  The multiplier used to calculate the total time-out period for read operations, in milliseconds.
  `WinDef.DWORD`
  `WriteTotalTimeoutConstant`
  A constant used to calculate the total time-out period for write operations, in milliseconds.
  `WinDef.DWORD`
  `WriteTotalTimeoutMultiplier`
  The multiplier used to calculate the total time-out period for write operations, in milliseconds.

  ### Fields inherited from class com.sun.jna.Structure

  `ALIGN_DEFAULT, ALIGN_GNUC, ALIGN_MSVC, ALIGN_NONE, CALCULATE_SIZE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `COMMTIMEOUTS()`

- ## Method Summary

  ### Methods inherited from class com.sun.jna.Structure

  `allocateMemory, allocateMemory, autoAllocate, autoRead, autoRead, autoWrite, autoWrite, cacheTypeInfo, calculateSize, clear, createFieldsOrder, createFieldsOrder, createFieldsOrder, createFieldsOrder, dataEquals, dataEquals, ensureAllocated, equals, fieldOffset, getAutoRead, getAutoWrite, getFieldList, getFieldOrder, getFields, getNativeAlignment, getNativeSize, getNativeSize, getPointer, getStringEncoding, getStructAlignment, hashCode, newInstance, newInstance, read, readField, readField, setAlignType, setAutoRead, setAutoSynch, setAutoWrite, setStringEncoding, size, sortFields, toArray, toArray, toString, toString, useMemory, useMemory, write, writeField, writeField, writeField`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### ReadIntervalTimeout

    public WinDef.DWORD ReadIntervalTimeout
    The maximum time allowed to elapse before the arrival of the next byte on the communications line, in milliseconds. If the interval between the arrival of any two bytes exceeds this amount, the `Kernel32.ReadFile(com.sun.jna.platform.win32.WinNT.HANDLE, byte[], int, com.sun.jna.ptr.IntByReference, com.sun.jna.platform.win32.WinBase.OVERLAPPED)` operation is completed and any buffered data is returned. A value of zero indicates that interval time-outs are not used. A value of MAXDWORD, combined with zero values for both the `ReadTotalTimeoutConstant` and `ReadTotalTimeoutMultiplier` members, specifies that the read operation is to return immediately with the bytes that have already been received, even if no bytes have been received.

  - ### ReadTotalTimeoutMultiplier

    public WinDef.DWORD ReadTotalTimeoutMultiplier
    The multiplier used to calculate the total time-out period for read operations, in milliseconds. For each read operation, this value is multiplied by the requested number of bytes to be read.

  - ### ReadTotalTimeoutConstant

    public WinDef.DWORD ReadTotalTimeoutConstant
    A constant used to calculate the total time-out period for read operations, in milliseconds. 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 both the `ReadTotalTimeoutMultiplier` and `ReadTotalTimeoutConstant` members indicates that total time-outs are not used for read operations.

  - ### WriteTotalTimeoutMultiplier

    public WinDef.DWORD WriteTotalTimeoutMultiplier
    The multiplier used to calculate the total time-out period for write operations, in milliseconds. For each write operation, this value is multiplied by the number of bytes to be written.

  - ### WriteTotalTimeoutConstant

    public WinDef.DWORD WriteTotalTimeoutConstant
    A constant used to calculate the total time-out period for write operations, in milliseconds. 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 both the `WriteTotalTimeoutMultiplier` and `WriteTotalTimeoutConstant` members indicates that total time-outs are not used for write operations.

- ## Constructor Details

  - ### COMMTIMEOUTS

    public COMMTIMEOUTS()