diff options
Diffstat (limited to 'Master/tlpkg/tlperl/site/lib/Win32/OLE/TypeInfo.pm')
-rw-r--r-- | Master/tlpkg/tlperl/site/lib/Win32/OLE/TypeInfo.pm | 389 |
1 files changed, 389 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/site/lib/Win32/OLE/TypeInfo.pm b/Master/tlpkg/tlperl/site/lib/Win32/OLE/TypeInfo.pm new file mode 100644 index 00000000000..d95399c1e29 --- /dev/null +++ b/Master/tlpkg/tlperl/site/lib/Win32/OLE/TypeInfo.pm @@ -0,0 +1,389 @@ +# This module is still experimental and intentionally undocumented. +# If you don't know why it is here, then you should probably not use it. + +package Win32::OLE::TypeInfo; + +use strict; +use vars qw(@ISA @EXPORT @EXPORT_OK); +use vars qw(@VT %TYPEFLAGS @TYPEKIND %IMPLTYPEFLAGS %PARAMFLAGS + %FUNCFLAGS @CALLCONV @FUNCKIND %INVOKEKIND %VARFLAGS + %LIBFLAGS @SYSKIND); + +use Exporter; +@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 +); + +# Lib Flags +# --------- + +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; + +# Sys Kind +# -------- + +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'; + +# Type Flags +# ---------- + +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; + +# Type Kind +# --------- + +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'; + +# Implemented Type Flags +# ---------------------- + +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; + +# Parameter Flags +# --------------- + +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; + +# Function Flags +# -------------- + +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; + +# Calling conventions +# ------------------- + +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'; + +# Function Kind +# ------------- + +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'; + +# Invoke Kind +# ----------- + +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; + +# Variable Flags +# -------------- + +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; + + +# Variant Types +# ------------- + +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; |