|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavafish.clients.opc.variant.VariantTypes
public class VariantTypes
The Variant types as defined by Microsoft's COM. I found this information in http://www.marin.clara.net/COM/variant_type_definitions.htm.
In the variant types descriptions the following shortcuts are used: [V] - may appear in a VARIANT, [T] - may appear in a TYPEDESC, [P] - may appear in an OLE property set, [S] - may appear in a Safe Array.
| Field Summary | |
|---|---|
static long |
EPOCH_DIFF
The difference between the Windows epoch (1601-01-01 00:00:00) and the Unix epoch (1970-01-01 00:00:00) in milliseconds: 11644473600000L. |
static java.lang.Integer |
LENGTH_0
Denotes a variant type with a length of 0 bytes. |
static java.lang.Integer |
LENGTH_2
Denotes a variant type with a length of 2 bytes. |
static java.lang.Integer |
LENGTH_4
Denotes a variant type with a length of 4 bytes. |
static java.lang.Integer |
LENGTH_8
Denotes a variant type with a length of 8 bytes. |
static java.lang.Integer |
LENGTH_UNKNOWN
Denotes a variant type with a length that is unknown to c yet. |
static java.lang.Integer |
LENGTH_VARIABLE
Denotes a variant type with a variable length. |
static int |
VT_ARRAY
[V] SAFEARRAY*. |
static int |
VT_BLOB
[P] Length prefixed bytes. |
static int |
VT_BLOB_OBJECT
[P] Blob contains an object. |
static int |
VT_BOOL
[V][T][P][S] True=-1, False=0. |
static int |
VT_BSTR
[V][T][P][S] OLE Automation string. |
static int |
VT_BYREF
[V] void* for local use. |
static int |
VT_CARRAY
[T] C style array. |
static int |
VT_CF
[P] Clipboard format. |
static int |
VT_CLSID
[P] A Class ID. |
static int |
VT_CY
[V][T][P][S] currency. |
static int |
VT_DATE
[V][T][P][S] date. |
static int |
VT_DECIMAL
[V][T][S] 16 byte fixed point. |
static int |
VT_DISPATCH
[V][T][P][S] IDispatch *. |
static int |
VT_EMPTY
[V][P] Nothing, i.e. not a single byte of data. |
static int |
VT_ERROR
[V][T][S] SCODE. |
static int |
VT_FILETIME
[P] FILETIME. |
static int |
VT_HRESULT
[T] Standard return type. |
static int |
VT_I1
[T] signed char. |
static int |
VT_I2
[V][T][P][S] 2 byte signed int. |
static int |
VT_I4
[V][T][P][S] 4 byte signed int. |
static int |
VT_I8
[T][P] signed 64-bit int. |
static int |
VT_ILLEGAL
FIXME (3): Document this! |
static int |
VT_ILLEGALMASKED
FIXME (3): Document this! |
static int |
VT_INT
[T] signed machine int. |
static int |
VT_LPSTR
[T][P] null terminated string. |
static int |
VT_LPWSTR
[T][P] wide (Unicode) null terminated string. |
static int |
VT_NULL
[V][P] SQL style Null. |
static int |
VT_PTR
[T] pointer type. |
static int |
VT_R4
[V][T][P][S] 4 byte real. |
static int |
VT_R8
[V][T][P][S] 8 byte real. |
static int |
VT_RESERVED
FIXME (3): Document this! |
static int |
VT_SAFEARRAY
[T] (use VT_ARRAY in VARIANT). |
static int |
VT_STORAGE
[P] Name of the storage follows. |
static int |
VT_STORED_OBJECT
[P] Storage contains an object. |
static int |
VT_STREAM
[P] Name of the stream follows. |
static int |
VT_STREAMED_OBJECT
[P] Stream contains an object. |
static int |
VT_TYPEMASK
FIXME (3): Document this! |
static int |
VT_UI1
[V][T][P][S] unsigned char. |
static int |
VT_UI2
[T][P] unsigned short. |
static int |
VT_UI4
[T][P] unsigned int. |
static int |
VT_UI8
[T][P] unsigned 64-bit int. |
static int |
VT_UINT
[T] unsigned machine int. |
static int |
VT_UNKNOWN
[V][T][S] IUnknown *. |
static int |
VT_USERDEFINED
[T] user defined type. |
static int |
VT_VARIANT
[V][T][P][S] VARIANT *. |
static int |
VT_VECTOR
[P] simple counted array. |
static int |
VT_VOID
[T] C style void. |
| Constructor Summary | |
|---|---|
VariantTypes()
|
|
| Method Summary | |
|---|---|
static long |
dateToFileTime(java.util.Date date)
Converts a Date into a filetime. |
static java.util.Date |
filetimeToDate(int high,
int low)
Converts a Windows FILETIME into a Date. |
static int |
getVariantLength(long variantType)
Returns a variant type's length. |
static java.lang.String |
getVariantName(long variantType)
Returns the variant type name associated with a variant type number. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int VT_EMPTY
[V][P] Nothing, i.e. not a single byte of data.
public static final int VT_NULL
[V][P] SQL style Null.
public static final int VT_I2
[V][T][P][S] 2 byte signed int.
public static final int VT_I4
[V][T][P][S] 4 byte signed int.
public static final int VT_R4
[V][T][P][S] 4 byte real.
public static final int VT_R8
[V][T][P][S] 8 byte real.
public static final int VT_CY
[V][T][P][S] currency. How long is this? How is it to be interpreted?
public static final int VT_DATE
[V][T][P][S] date. How long is this? How is it to be interpreted?
public static final int VT_BSTR
[V][T][P][S] OLE Automation string. How long is this? How is it to be interpreted?
public static final int VT_DISPATCH
[V][T][P][S] IDispatch *. How long is this? How is it to be interpreted?
public static final int VT_ERROR
[V][T][S] SCODE. How long is this? How is it to be interpreted?
public static final int VT_BOOL
[V][T][P][S] True=-1, False=0.
public static final int VT_VARIANT
[V][T][P][S] VARIANT *. How long is this? How is it to be interpreted?
public static final int VT_UNKNOWN
[V][T][S] IUnknown *. How long is this? How is it to be interpreted?
public static final int VT_DECIMAL
[V][T][S] 16 byte fixed point.
public static final int VT_I1
[T] signed char.
public static final int VT_UI1
[V][T][P][S] unsigned char.
public static final int VT_UI2
[T][P] unsigned short.
public static final int VT_UI4
[T][P] unsigned int.
public static final int VT_I8
[T][P] signed 64-bit int.
public static final int VT_UI8
[T][P] unsigned 64-bit int.
public static final int VT_INT
[T] signed machine int.
public static final int VT_UINT
[T] unsigned machine int.
public static final int VT_VOID
[T] C style void.
public static final int VT_HRESULT
[T] Standard return type. How long is this? How is it to be interpreted?
public static final int VT_PTR
[T] pointer type. How long is this? How is it to be interpreted?
public static final int VT_SAFEARRAY
[T] (use VT_ARRAY in VARIANT).
public static final int VT_CARRAY
[T] C style array. How long is this? How is it to be interpreted?
public static final int VT_USERDEFINED
[T] user defined type. How long is this? How is it to be interpreted?
public static final int VT_LPSTR
[T][P] null terminated string.
public static final int VT_LPWSTR
[T][P] wide (Unicode) null terminated string.
public static final int VT_FILETIME
[P] FILETIME. The FILETIME structure holds a date and time associated with a file. The structure identifies a 64-bit integer specifying the number of 100-nanosecond intervals which have passed since January 1, 1601. This 64-bit value is split into the two dwords stored in the structure.
public static final int VT_BLOB
[P] Length prefixed bytes.
public static final int VT_STREAM
[P] Name of the stream follows.
public static final int VT_STORAGE
[P] Name of the storage follows.
public static final int VT_STREAMED_OBJECT
[P] Stream contains an object. How long is this? How is it to be interpreted?
public static final int VT_STORED_OBJECT
[P] Storage contains an object. How long is this? How is it to be interpreted?
public static final int VT_BLOB_OBJECT
[P] Blob contains an object. How long is this? How is it to be interpreted?
public static final int VT_CF
[P] Clipboard format. How long is this? How is it to be interpreted?
public static final int VT_CLSID
[P] A Class ID.
It consists of a 32 bit unsigned integer indicating the size of the structure, a 32 bit signed integer indicating (Clipboard Format Tag) indicating the type of data that it contains, and then a byte array containing the data.
The valid Clipboard Format Tags are:
typedef struct tagCLIPDATA {
// cbSize is the size of the buffer pointed to
// by pClipData, plus sizeof(ulClipFmt)
ULONG cbSize;
long ulClipFmt;
BYTE* pClipData;
} CLIPDATA;
See msdn.microsoft.com/library/en-us/com/stgrstrc_0uwk.asp.
public static final int VT_VECTOR
[P] simple counted array. How long is this? How is it to be interpreted?
public static final int VT_ARRAY
[V] SAFEARRAY*. How long is this? How is it to be interpreted?
public static final int VT_BYREF
[V] void* for local use. How long is this? How is it to be interpreted?
public static final int VT_RESERVED
FIXME (3): Document this!
public static final int VT_ILLEGAL
FIXME (3): Document this!
public static final int VT_ILLEGALMASKED
FIXME (3): Document this!
public static final int VT_TYPEMASK
FIXME (3): Document this!
public static final java.lang.Integer LENGTH_UNKNOWN
Denotes a variant type with a length that is unknown to c yet.
public static final java.lang.Integer LENGTH_VARIABLE
Denotes a variant type with a variable length.
public static final java.lang.Integer LENGTH_0
Denotes a variant type with a length of 0 bytes.
public static final java.lang.Integer LENGTH_2
Denotes a variant type with a length of 2 bytes.
public static final java.lang.Integer LENGTH_4
Denotes a variant type with a length of 4 bytes.
public static final java.lang.Integer LENGTH_8
Denotes a variant type with a length of 8 bytes.
public static final long EPOCH_DIFF
The difference between the Windows epoch (1601-01-01 00:00:00) and the Unix epoch (1970-01-01 00:00:00) in milliseconds: 11644473600000L. (Use your favorite spreadsheet program to verify the correctness of this value. By the way, did you notice that you can tell from the epochs which operating system is the modern one? :-))
| Constructor Detail |
|---|
public VariantTypes()
| Method Detail |
|---|
public static java.lang.String getVariantName(long variantType)
Returns the variant type name associated with a variant type number.
variantType - The variant type number
public static int getVariantLength(long variantType)
Returns a variant type's length.
variantType - The variant type number
public static java.util.Date filetimeToDate(int high,
int low)
Converts a Windows FILETIME into a Date. The Windows
FILETIME structure holds a date and time associated with a
file. The structure identifies a 64-bit integer specifying the
number of 100-nanosecond intervals which have passed since
January 1, 1601. This 64-bit value is split into the two double
words stored in the structure.
high - The higher double word of the FILETIME structure.low - The lower double word of the FILETIME structure.
Date.public static long dateToFileTime(java.util.Date date)
Converts a Date into a filetime.
date - The date to be converted
filetimeToDate(int, int)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||