use
vars
qw(@ISA @EXPORT @EXPORT_OK)
;
use
vars
qw(@VT %TYPEFLAGS @TYPEKIND %IMPLTYPEFLAGS %PARAMFLAGS
%FUNCFLAGS @CALLCONV @FUNCKIND %INVOKEKIND %VARFLAGS
%LIBFLAGS @SYSKIND)
;
@ISA
=
qw(Exporter)
;
@EXPORT
=
qw(
VT_EMPTY VT_NULL VT_I2 VT_I4 VT_R4 VT_R8 VT_CY VT_DATE
VT_BSTR VT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN
VT_DECIMAL VT_I1 VT_UI1 VT_UI2 VT_UI4 VT_I8 VT_UI8 VT_INT
VT_UINT VT_VOID VT_HRESULT VT_PTR VT_SAFEARRAY VT_CARRAY
VT_USERDEFINED VT_LPSTR VT_LPWSTR VT_FILETIME VT_BLOB
VT_STREAM VT_STORAGE VT_STREAMED_OBJECT VT_STORED_OBJECT
VT_BLOB_OBJECT VT_CF VT_CLSID VT_VECTOR VT_ARRAY VT_BYREF
VT_RESERVED VT_ILLEGAL VT_ILLEGALMASKED VT_TYPEMASK
TYPEFLAG_FAPPOBJECT TYPEFLAG_FCANCREATE TYPEFLAG_FLICENSED
TYPEFLAG_FPREDECLID TYPEFLAG_FHIDDEN TYPEFLAG_FCONTROL
TYPEFLAG_FDUAL TYPEFLAG_FNONEXTENSIBLE TYPEFLAG_FOLEAUTOMATION
TYPEFLAG_FRESTRICTED TYPEFLAG_FAGGREGATABLE TYPEFLAG_FREPLACEABLE
TYPEFLAG_FDISPATCHABLE TYPEFLAG_FREVERSEBIND
TKIND_ENUM TKIND_RECORD TKIND_MODULE TKIND_INTERFACE TKIND_DISPATCH
TKIND_COCLASS TKIND_ALIAS TKIND_UNION TKIND_MAX
IMPLTYPEFLAG_FDEFAULT IMPLTYPEFLAG_FSOURCE IMPLTYPEFLAG_FRESTRICTED
IMPLTYPEFLAG_FDEFAULTVTABLE
PARAMFLAG_NONE PARAMFLAG_FIN PARAMFLAG_FOUT PARAMFLAG_FLCID
PARAMFLAG_FRETVAL PARAMFLAG_FOPT PARAMFLAG_FHASDEFAULT
FUNCFLAG_FRESTRICTED FUNCFLAG_FSOURCE FUNCFLAG_FBINDABLE
FUNCFLAG_FREQUESTEDIT FUNCFLAG_FDISPLAYBIND FUNCFLAG_FDEFAULTBIND
FUNCFLAG_FHIDDEN FUNCFLAG_FUSESGETLASTERROR FUNCFLAG_FDEFAULTCOLLELEM
FUNCFLAG_FUIDEFAULT FUNCFLAG_FNONBROWSABLE FUNCFLAG_FREPLACEABLE
FUNCFLAG_FIMMEDIATEBIND
CC_FASTCALL CC_CDECL CC_MSCPASCAL CC_PASCAL CC_MACPASCAL CC_STDCALL
CC_FPFASTCALL CC_SYSCALL CC_MPWCDECL CC_MPWPASCAL CC_MAX
INVOKE_FUNC INVOKE_PROPERTYGET INVOKE_PROPERTYPUT INVOKE_PROPERTYPUTREF
VARFLAG_FREADONLY VARFLAG_FSOURCE VARFLAG_FBINDABLE VARFLAG_FREQUESTEDIT
VARFLAG_FDISPLAYBIND VARFLAG_FDEFAULTBIND VARFLAG_FHIDDEN VARFLAG_FRESTRICTED
VARFLAG_FDEFAULTCOLLELEM VARFLAG_FUIDEFAULT VARFLAG_FNONBROWSABLE
VARFLAG_FREPLACEABLE VARFLAG_FIMMEDIATEBIND
LIBFLAG_FRESTRICTED LIBFLAG_FCONTROL LIBFLAG_FHIDDEN
SYS_WIN16 SYS_WIN32 SYS_MAC
FUNC_VIRTUAL FUNC_PUREVIRTUAL FUNC_NONVIRTUAL FUNC_STATIC FUNC_DISPATCH
@VT %TYPEFLAGS @TYPEKIND %IMPLTYPEFLAGS %PARAMFLAGS
%FUNCFLAGS @CALLCONV @FUNCKIND %INVOKEKIND %VARFLAGS %LIBFLAGS @SYSKIND
)
;
sub
LIBFLAG_FRESTRICTED () { 0x01; }
sub
LIBFLAG_FCONTROL () { 0x02; }
sub
LIBFLAG_FHIDDEN () { 0x04; }
$LIBFLAGS
{LIBFLAG_FRESTRICTED()} = LIBFLAG_FRESTRICTED;
$LIBFLAGS
{LIBFLAG_FCONTROL()} = LIBFLAG_FCONTROL;
$LIBFLAGS
{LIBFLAG_FHIDDEN()} = LIBFLAG_FHIDDEN;
sub
SYS_WIN16 () { 0; }
sub
SYS_WIN32 () { SYS_WIN16() + 1; }
sub
SYS_MAC () { SYS_WIN32() + 1; }
$SYSKIND
[SYS_WIN16] =
'SYS_WIN16'
;
$SYSKIND
[SYS_WIN32] =
'SYS_WIN32'
;
$SYSKIND
[SYS_MAC] =
'SYS_MAC'
;
sub
TYPEFLAG_FAPPOBJECT () { 0x1; }
sub
TYPEFLAG_FCANCREATE () { 0x2; }
sub
TYPEFLAG_FLICENSED () { 0x4; }
sub
TYPEFLAG_FPREDECLID () { 0x8; }
sub
TYPEFLAG_FHIDDEN () { 0x10; }
sub
TYPEFLAG_FCONTROL () { 0x20; }
sub
TYPEFLAG_FDUAL () { 0x40; }
sub
TYPEFLAG_FNONEXTENSIBLE () { 0x80; }
sub
TYPEFLAG_FOLEAUTOMATION () { 0x100; }
sub
TYPEFLAG_FRESTRICTED () { 0x200; }
sub
TYPEFLAG_FAGGREGATABLE () { 0x400; }
sub
TYPEFLAG_FREPLACEABLE () { 0x800; }
sub
TYPEFLAG_FDISPATCHABLE () { 0x1000; }
sub
TYPEFLAG_FREVERSEBIND () { 0x2000; }
$TYPEFLAGS
{TYPEFLAG_FAPPOBJECT()} = TYPEFLAG_FAPPOBJECT;
$TYPEFLAGS
{TYPEFLAG_FCANCREATE()} = TYPEFLAG_FCANCREATE;
$TYPEFLAGS
{TYPEFLAG_FLICENSED()} = TYPEFLAG_FLICENSED;
$TYPEFLAGS
{TYPEFLAG_FPREDECLID()} = TYPEFLAG_FPREDECLID;
$TYPEFLAGS
{TYPEFLAG_FHIDDEN()} = TYPEFLAG_FHIDDEN;
$TYPEFLAGS
{TYPEFLAG_FCONTROL()} = TYPEFLAG_FCONTROL;
$TYPEFLAGS
{TYPEFLAG_FDUAL()} = TYPEFLAG_FDUAL;
$TYPEFLAGS
{TYPEFLAG_FNONEXTENSIBLE()} = TYPEFLAG_FNONEXTENSIBLE;
$TYPEFLAGS
{TYPEFLAG_FOLEAUTOMATION()} = TYPEFLAG_FOLEAUTOMATION;
$TYPEFLAGS
{TYPEFLAG_FRESTRICTED()} = TYPEFLAG_FRESTRICTED;
$TYPEFLAGS
{TYPEFLAG_FAGGREGATABLE()} = TYPEFLAG_FAGGREGATABLE;
$TYPEFLAGS
{TYPEFLAG_FREPLACEABLE()} = TYPEFLAG_FREPLACEABLE;
$TYPEFLAGS
{TYPEFLAG_FDISPATCHABLE()} = TYPEFLAG_FDISPATCHABLE;
$TYPEFLAGS
{TYPEFLAG_FREVERSEBIND()} = TYPEFLAG_FREVERSEBIND;
sub
TKIND_ENUM () { 0; }
sub
TKIND_RECORD () { TKIND_ENUM() + 1; }
sub
TKIND_MODULE () { TKIND_RECORD() + 1; }
sub
TKIND_INTERFACE () { TKIND_MODULE() + 1; }
sub
TKIND_DISPATCH () { TKIND_INTERFACE() + 1; }
sub
TKIND_COCLASS () { TKIND_DISPATCH() + 1; }
sub
TKIND_ALIAS () { TKIND_COCLASS() + 1; }
sub
TKIND_UNION () { TKIND_ALIAS() + 1; }
sub
TKIND_MAX () { TKIND_UNION() + 1; }
$TYPEKIND
[TKIND_ENUM] =
'TKIND_ENUM'
;
$TYPEKIND
[TKIND_RECORD] =
'TKIND_RECORD'
;
$TYPEKIND
[TKIND_MODULE] =
'TKIND_MODULE'
;
$TYPEKIND
[TKIND_INTERFACE] =
'TKIND_INTERFACE'
;
$TYPEKIND
[TKIND_DISPATCH] =
'TKIND_DISPATCH'
;
$TYPEKIND
[TKIND_COCLASS] =
'TKIND_COCLASS'
;
$TYPEKIND
[TKIND_ALIAS] =
'TKIND_ALIAS'
;
$TYPEKIND
[TKIND_UNION] =
'TKIND_UNION'
;
sub
IMPLTYPEFLAG_FDEFAULT () { 0x1; }
sub
IMPLTYPEFLAG_FSOURCE () { 0x2; }
sub
IMPLTYPEFLAG_FRESTRICTED () { 0x4; }
sub
IMPLTYPEFLAG_FDEFAULTVTABLE () { 0x800; }
$IMPLTYPEFLAGS
{IMPLTYPEFLAG_FDEFAULT()} = IMPLTYPEFLAG_FDEFAULT;
$IMPLTYPEFLAGS
{IMPLTYPEFLAG_FSOURCE()} = IMPLTYPEFLAG_FSOURCE;
$IMPLTYPEFLAGS
{IMPLTYPEFLAG_FRESTRICTED()} = IMPLTYPEFLAG_FRESTRICTED;
$IMPLTYPEFLAGS
{IMPLTYPEFLAG_FDEFAULTVTABLE()} = IMPLTYPEFLAG_FDEFAULTVTABLE;
sub
PARAMFLAG_NONE () { 0; }
sub
PARAMFLAG_FIN () { 0x1; }
sub
PARAMFLAG_FOUT () { 0x2; }
sub
PARAMFLAG_FLCID () { 0x4; }
sub
PARAMFLAG_FRETVAL () { 0x8; }
sub
PARAMFLAG_FOPT () { 0x10; }
sub
PARAMFLAG_FHASDEFAULT () { 0x20; }
$PARAMFLAGS
{PARAMFLAG_NONE()} = PARAMFLAG_NONE;
$PARAMFLAGS
{PARAMFLAG_FIN()} = PARAMFLAG_FIN;
$PARAMFLAGS
{PARAMFLAG_FOUT()} = PARAMFLAG_FOUT;
$PARAMFLAGS
{PARAMFLAG_FLCID()} = PARAMFLAG_FLCID;
$PARAMFLAGS
{PARAMFLAG_FRETVAL()} = PARAMFLAG_FRETVAL;
$PARAMFLAGS
{PARAMFLAG_FOPT()} = PARAMFLAG_FOPT;
$PARAMFLAGS
{PARAMFLAG_FHASDEFAULT()} = PARAMFLAG_FHASDEFAULT;
sub
FUNCFLAG_FRESTRICTED () { 0x1; }
sub
FUNCFLAG_FSOURCE () { 0x2; }
sub
FUNCFLAG_FBINDABLE () { 0x4; }
sub
FUNCFLAG_FREQUESTEDIT () { 0x8; }
sub
FUNCFLAG_FDISPLAYBIND () { 0x10; }
sub
FUNCFLAG_FDEFAULTBIND () { 0x20; }
sub
FUNCFLAG_FHIDDEN () { 0x40; }
sub
FUNCFLAG_FUSESGETLASTERROR () { 0x80; }
sub
FUNCFLAG_FDEFAULTCOLLELEM () { 0x100; }
sub
FUNCFLAG_FUIDEFAULT () { 0x200; }
sub
FUNCFLAG_FNONBROWSABLE () { 0x400; }
sub
FUNCFLAG_FREPLACEABLE () { 0x800; }
sub
FUNCFLAG_FIMMEDIATEBIND () { 0x1000; }
$FUNCFLAGS
{FUNCFLAG_FRESTRICTED()} = FUNCFLAG_FRESTRICTED;
$FUNCFLAGS
{FUNCFLAG_FSOURCE()} = FUNCFLAG_FSOURCE;
$FUNCFLAGS
{FUNCFLAG_FBINDABLE()} = FUNCFLAG_FBINDABLE;
$FUNCFLAGS
{FUNCFLAG_FREQUESTEDIT()} = FUNCFLAG_FREQUESTEDIT;
$FUNCFLAGS
{FUNCFLAG_FDISPLAYBIND()} = FUNCFLAG_FDISPLAYBIND;
$FUNCFLAGS
{FUNCFLAG_FDEFAULTBIND()} = FUNCFLAG_FDEFAULTBIND;
$FUNCFLAGS
{FUNCFLAG_FHIDDEN()} = FUNCFLAG_FHIDDEN;
$FUNCFLAGS
{FUNCFLAG_FUSESGETLASTERROR()} = FUNCFLAG_FUSESGETLASTERROR;
$FUNCFLAGS
{FUNCFLAG_FDEFAULTCOLLELEM()} = FUNCFLAG_FDEFAULTCOLLELEM;
$FUNCFLAGS
{FUNCFLAG_FUIDEFAULT()} = FUNCFLAG_FUIDEFAULT;
$FUNCFLAGS
{FUNCFLAG_FNONBROWSABLE()} = FUNCFLAG_FNONBROWSABLE;
$FUNCFLAGS
{FUNCFLAG_FREPLACEABLE()} = FUNCFLAG_FREPLACEABLE;
$FUNCFLAGS
{FUNCFLAG_FIMMEDIATEBIND()} = FUNCFLAG_FIMMEDIATEBIND;
sub
CC_FASTCALL () { 0; }
sub
CC_CDECL () { 1; }
sub
CC_MSCPASCAL () { CC_CDECL() + 1; }
sub
CC_PASCAL () { CC_MSCPASCAL; }
sub
CC_MACPASCAL () { CC_PASCAL() + 1; }
sub
CC_STDCALL () { CC_MACPASCAL() + 1; }
sub
CC_FPFASTCALL () { CC_STDCALL() + 1; }
sub
CC_SYSCALL () { CC_FPFASTCALL() + 1; }
sub
CC_MPWCDECL () { CC_SYSCALL() + 1; }
sub
CC_MPWPASCAL () { CC_MPWCDECL() + 1; }
sub
CC_MAX () { CC_MPWPASCAL() + 1; }
$CALLCONV
[CC_FASTCALL] =
'CC_FASTCALL'
;
$CALLCONV
[CC_CDECL] =
'CC_CDECL'
;
$CALLCONV
[CC_PASCAL] =
'CC_PASCAL'
;
$CALLCONV
[CC_MACPASCAL] =
'CC_MACPASCAL'
;
$CALLCONV
[CC_STDCALL] =
'CC_STDCALL'
;
$CALLCONV
[CC_FPFASTCALL] =
'CC_FPFASTCALL'
;
$CALLCONV
[CC_SYSCALL] =
'CC_SYSCALL'
;
$CALLCONV
[CC_MPWCDECL] =
'CC_MPWCDECL'
;
$CALLCONV
[CC_MPWPASCAL] =
'CC_MPWPASCAL'
;
sub
FUNC_VIRTUAL () { 0; }
sub
FUNC_PUREVIRTUAL () { FUNC_VIRTUAL() + 1; }
sub
FUNC_NONVIRTUAL () { FUNC_PUREVIRTUAL() + 1; }
sub
FUNC_STATIC () { FUNC_NONVIRTUAL() + 1; }
sub
FUNC_DISPATCH () { FUNC_STATIC() + 1; }
$FUNCKIND
[FUNC_VIRTUAL] =
'FUNC_VIRTUAL'
;
$FUNCKIND
[FUNC_PUREVIRTUAL] =
'FUNC_PUREVIRTUAL'
;
$FUNCKIND
[FUNC_NONVIRTUAL] =
'FUNC_NONVIRTUAL'
;
$FUNCKIND
[FUNC_STATIC] =
'FUNC_STATIC'
;
$FUNCKIND
[FUNC_DISPATCH] =
'FUNC_DISPATCH'
;
sub
INVOKE_FUNC () { 1; }
sub
INVOKE_PROPERTYGET () { 2; }
sub
INVOKE_PROPERTYPUT () { 4; }
sub
INVOKE_PROPERTYPUTREF () { 8; }
$INVOKEKIND
{INVOKE_FUNC()} = INVOKE_FUNC;
$INVOKEKIND
{INVOKE_PROPERTYGET()} = INVOKE_PROPERTYGET;
$INVOKEKIND
{INVOKE_PROPERTYPUT()} = INVOKE_PROPERTYPUT;
$INVOKEKIND
{INVOKE_PROPERTYPUTREF()} = INVOKE_PROPERTYPUTREF;
sub
VARFLAG_FREADONLY () { 0x1; }
sub
VARFLAG_FSOURCE () { 0x2; }
sub
VARFLAG_FBINDABLE () { 0x4; }
sub
VARFLAG_FREQUESTEDIT () { 0x8; }
sub
VARFLAG_FDISPLAYBIND () { 0x10; }
sub
VARFLAG_FDEFAULTBIND () { 0x20; }
sub
VARFLAG_FHIDDEN () { 0x40; }
sub
VARFLAG_FRESTRICTED () { 0x80; }
sub
VARFLAG_FDEFAULTCOLLELEM () { 0x100; }
sub
VARFLAG_FUIDEFAULT () { 0x200; }
sub
VARFLAG_FNONBROWSABLE () { 0x400; }
sub
VARFLAG_FREPLACEABLE () { 0x800; }
sub
VARFLAG_FIMMEDIATEBIND () { 0x1000; }
$VARFLAGS
{VARFLAG_FREADONLY()} = VARFLAG_FREADONLY;
$VARFLAGS
{VARFLAG_FSOURCE()} = VARFLAG_FSOURCE;
$VARFLAGS
{VARFLAG_FBINDABLE()} = VARFLAG_FBINDABLE;
$VARFLAGS
{VARFLAG_FREQUESTEDIT()} = VARFLAG_FREQUESTEDIT;
$VARFLAGS
{VARFLAG_FDISPLAYBIND()} = VARFLAG_FDISPLAYBIND;
$VARFLAGS
{VARFLAG_FDEFAULTBIND()} = VARFLAG_FDEFAULTBIND;
$VARFLAGS
{VARFLAG_FHIDDEN()} = VARFLAG_FHIDDEN;
$VARFLAGS
{VARFLAG_FRESTRICTED()} = VARFLAG_FRESTRICTED;
$VARFLAGS
{VARFLAG_FDEFAULTCOLLELEM()} = VARFLAG_FDEFAULTCOLLELEM;
$VARFLAGS
{VARFLAG_FUIDEFAULT()} = VARFLAG_FUIDEFAULT;
$VARFLAGS
{VARFLAG_FNONBROWSABLE()} = VARFLAG_FNONBROWSABLE;
$VARFLAGS
{VARFLAG_FREPLACEABLE()} = VARFLAG_FREPLACEABLE;
$VARFLAGS
{VARFLAG_FIMMEDIATEBIND()} = VARFLAG_FIMMEDIATEBIND;
sub
VT_EMPTY () { 0; }
sub
VT_NULL () { 1; }
sub
VT_I2 () { 2; }
sub
VT_I4 () { 3; }
sub
VT_R4 () { 4; }
sub
VT_R8 () { 5; }
sub
VT_CY () { 6; }
sub
VT_DATE () { 7; }
sub
VT_BSTR () { 8; }
sub
VT_DISPATCH () { 9; }
sub
VT_ERROR () { 10; }
sub
VT_BOOL () { 11; }
sub
VT_VARIANT () { 12; }
sub
VT_UNKNOWN () { 13; }
sub
VT_DECIMAL () { 14; }
sub
VT_I1 () { 16; }
sub
VT_UI1 () { 17; }
sub
VT_UI2 () { 18; }
sub
VT_UI4 () { 19; }
sub
VT_I8 () { 20; }
sub
VT_UI8 () { 21; }
sub
VT_INT () { 22; }
sub
VT_UINT () { 23; }
sub
VT_VOID () { 24; }
sub
VT_HRESULT () { 25; }
sub
VT_PTR () { 26; }
sub
VT_SAFEARRAY () { 27; }
sub
VT_CARRAY () { 28; }
sub
VT_USERDEFINED () { 29; }
sub
VT_LPSTR () { 30; }
sub
VT_LPWSTR () { 31; }
sub
VT_FILETIME () { 64; }
sub
VT_BLOB () { 65; }
sub
VT_STREAM () { 66; }
sub
VT_STORAGE () { 67; }
sub
VT_STREAMED_OBJECT () { 68; }
sub
VT_STORED_OBJECT () { 69; }
sub
VT_BLOB_OBJECT () { 70; }
sub
VT_CF () { 71; }
sub
VT_CLSID () { 72; }
sub
VT_VECTOR () { 0x1000; }
sub
VT_ARRAY () { 0x2000; }
sub
VT_BYREF () { 0x4000; }
sub
VT_RESERVED () { 0x8000; }
sub
VT_ILLEGAL () { 0xffff; }
sub
VT_ILLEGALMASKED () { 0xfff; }
sub
VT_TYPEMASK () { 0xfff; }
$VT
[VT_EMPTY] =
'VT_EMPTY'
;
$VT
[VT_NULL] =
'VT_NULL'
;
$VT
[VT_I2] =
'VT_I2'
;
$VT
[VT_I4] =
'VT_I4'
;
$VT
[VT_R4] =
'VT_R4'
;
$VT
[VT_R8] =
'VT_R8'
;
$VT
[VT_CY] =
'VT_CY'
;
$VT
[VT_DATE] =
'VT_DATE'
;
$VT
[VT_BSTR] =
'VT_BSTR'
;
$VT
[VT_DISPATCH] =
'VT_DISPATCH'
;
$VT
[VT_ERROR] =
'VT_ERROR'
;
$VT
[VT_BOOL] =
'VT_BOOL'
;
$VT
[VT_VARIANT] =
'VT_VARIANT'
;
$VT
[VT_UNKNOWN] =
'VT_UNKNOWN'
;
$VT
[VT_DECIMAL] =
'VT_DECIMAL'
;
$VT
[VT_I1] =
'VT_I1'
;
$VT
[VT_UI1] =
'VT_UI1'
;
$VT
[VT_UI2] =
'VT_UI2'
;
$VT
[VT_UI4] =
'VT_UI4'
;
$VT
[VT_I8] =
'VT_I8'
;
$VT
[VT_UI8] =
'VT_UI8'
;
$VT
[VT_INT] =
'VT_INT'
;
$VT
[VT_UINT] =
'VT_UINT'
;
$VT
[VT_VOID] =
'VT_VOID'
;
$VT
[VT_HRESULT] =
'VT_HRESULT'
;
$VT
[VT_PTR] =
'VT_PTR'
;
$VT
[VT_SAFEARRAY] =
'VT_SAFEARRAY'
;
$VT
[VT_CARRAY] =
'VT_CARRAY'
;
$VT
[VT_USERDEFINED] =
'VT_USERDEFINED'
;
$VT
[VT_LPSTR] =
'VT_LPSTR'
;
$VT
[VT_LPWSTR] =
'VT_LPWSTR'
;
$VT
[VT_FILETIME] =
'VT_FILETIME'
;
$VT
[VT_BLOB] =
'VT_BLOB'
;
$VT
[VT_STREAM] =
'VT_STREAM'
;
$VT
[VT_STORAGE] =
'VT_STORAGE'
;
$VT
[VT_STREAMED_OBJECT] =
'VT_STREAMED_OBJECT'
;
$VT
[VT_STORED_OBJECT] =
'VT_STORED_OBJECT'
;
$VT
[VT_BLOB_OBJECT] =
'VT_BLOB_OBJECT'
;
$VT
[VT_CF] =
'VT_CF'
;
$VT
[VT_CLSID] =
'VT_CLSID'
;
$VT
[VT_VECTOR] =
'VT_VECTOR'
;
$VT
[VT_ARRAY] =
'VT_ARRAY'
;
$VT
[VT_BYREF] =
'VT_BYREF'
;
$VT
[VT_RESERVED] =
'VT_RESERVED'
;
$VT
[VT_ILLEGAL] =
'VT_ILLEGAL'
;
$VT
[VT_ILLEGALMASKED] =
'VT_ILLEGALMASKED'
;
$VT
[VT_TYPEMASK] =
'VT_TYPEMASK'
;
1;