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
public static class WinBase.COMMTIMEOUTS extends Structure
Contains the time-out parameters for a communications device. The parameters determine the behavior ofKernel32.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.StructField
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.List<java.lang.String>
FIELDS
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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.List<java.lang.String>
getFieldOrder()
Return this Structure's field names in their proper order.-
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, getFields, getNativeAlignment, getNativeSize, getNativeSize, getPointer, getStringEncoding, getStructAlignment, hashCode, newInstance, newInstance, read, readField, readField, setAlignType, setAutoRead, setAutoSynch, setAutoWrite, setFieldOrder, setStringEncoding, size, sortFields, toArray, toArray, toString, toString, useMemory, useMemory, write, writeField, writeField, writeField
-
-
-
-
Field Detail
-
FIELDS
public static final java.util.List<java.lang.String> FIELDS
-
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, theKernel32.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 theReadTotalTimeoutConstant
andReadTotalTimeoutMultiplier
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 theReadTotalTimeoutMultiplier
member and the requested number of bytes. A value of zero for both theReadTotalTimeoutMultiplier
andReadTotalTimeoutConstant
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 theWriteTotalTimeoutMultiplier
member and the number of bytes to be written. A value of zero for both theWriteTotalTimeoutMultiplier
andWriteTotalTimeoutConstant
members indicates that total time-outs are not used for write operations.
-
-
Method Detail
-
getFieldOrder
protected java.util.List<java.lang.String> getFieldOrder()
Description copied from class:Structure
Return this Structure's field names in their proper order. For example,
IMPORTANT When deriving from an existing Structure subclass, ensure that you augment the list provided by the superclass, e.g.protected List getFieldOrder() { return Arrays.asList(new String[] { ... }); }
Field order must be explicitly indicated, since the field order as returned byprotected List getFieldOrder() { List fields = new ArrayList(super.getFieldOrder()); fields.addAll(Arrays.asList(new String[] { ... })); return fields; }
Class.getFields()
is not guaranteed to be predictable.- Specified by:
getFieldOrder
in classStructure
- Returns:
- ordered list of field names
-
-