|
The VARIANTVT function returns the internal
VT data type stored in the Variant. The entire range of %VT_ prefixed
values are documented by the OLE (COM)
specification and are available in WIN32API.INC.
The most important values in this limited context
include %VT_EMPTY (=0) and %VT_BSTR (=8), since most of the others are
numeric formats
automatically resolved by the LET
(with Variants) statement and VARIANT# function.
Result |
Equate |
Content Type |
|
0 |
%VT_EMPTY |
An Empty Variant |
|
1 |
%VT_NULL |
Null value |
|
2 |
%VT_I2 |
Integer |
|
3 |
%VT_I4 |
Long-Integer |
|
4 |
%VT_R4 |
Single |
|
5 |
%VT_R8 |
Double |
|
6 |
%VT_CY |
Currency |
|
7 |
%VT_DATE |
Date |
|
8 |
%VT_BSTR |
Dynamic
String |
|
9 |
%VT_DISPATCH |
IDispatch |
|
10 |
%VT_ERROR |
Error Code |
|
11 |
%VT_BOOL |
Boolean |
|
12 |
%VT_VARIANT |
Variant |
|
13 |
%VT_UNKNOWN |
IUnknown |
|
14 |
%VT_DECIMAL |
Decimal |
|
16 |
%VT_I1 |
Byte (signed) |
|
17 |
%VT_UI1 |
Byte
(unsigned) |
|
18 |
%VT_UI2 |
Word |
|
19 |
%VT_UI4 |
DWORD |
|
20 |
%VT_I8 |
Quad
(signed) |
|
21 |
%VT_UI8 |
Quad (unsigned) |
|
22 |
%VT_INT |
Long-Integer |
|
23 |
%VT_UINT |
DWord |
|
24 |
%VT_VOID |
A
C-style void
type |
|
25 |
%VT_HRESULT |
COM
result code |
|
26 |
%VT_PTR |
Pointer |
|
27 |
%VT_SAFEARRAY |
VB Array |
|
28 |
%VT_CARRAY |
A
C-style array |
|
29 |
%VT_USERDEFINED |
User Defined Type |
|
30 |
%VT_LPSTR |
ANSI
string |
|
31 |
%VT_LPWSTR |
Unicode string |
|
36 |
%VT_RECORD |
UDT |
|
64 |
%VT_FILETIME |
A FILETIME value |
|
65 |
%VT_BLOB |
An
arbitrary block of memory |
|
66 |
%VT_STREAM |
A stream of bytes |
|
67 |
%VT_STORAGE |
Name of the storage |
|
68 |
%VT_STREAMED_OBJECT |
A stream that contains
an object |
|
69 |
%VT_STORED_OBJECT |
A storage object |
|
70 |
%VT_BLOB_OBJECT |
A block of memory that
represents an object |
|
71 |
%VT_CF |
Clipboard
format |
|
72 |
%VT_CLSID |
Class
ID |
|
&H1000 |
%VT_VECTOR |
An array with a leading
count |
|
&H2000 |
%VT_ARRAY |
Array |
|
&H4000 |
%VT_BYREF |
A reference value |
If a Variant contains a complete array,
the Variant type is determined by adding the base type to the array modifier.
That is, for a string array, it would
be %VT_BSTR plus %VT_ARRAY (= &H2008).
Quad arrays
within Variants are not supported by most versions of Windows. The result
from VARIANTVT can be used to see whether such an array was created properly. |