compile insert rti_Get_Ole_Info_Equates
/*
   ** Copyright (C) 2013 Revelation Software Inc. All Rights Reserved **
   
   This  program  is  proprietary and is not  to be used  by or  disclosed
   to others, nor is it to be copied without written permission from
   Revelation Technologies, Inc.
  
   Author  : Mr C
   Date    : Feb 2013
   Purpose : Equates for use rti_Get_Ole_Info function
   
   Comments
   ========
   
   Amended  Date        Reason
   =======  ====        ======
   Mr C     01 Mar 18   Added Error fields for TypeInfo problem reporting
   Mr C     17 Aug 17   Added GOI_PROPFLAG_FORMDESHIDE$
   Mr C     17 Apr 15   Added COM-registred .NET DLL handling
   
*/
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#ifndef _RTI_GET_OLE_INFO_EQUATES_
#define _RTI_GET_OLE_INFO_EQUATES_
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   declare function rti_Get_Ole_Info
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // Returned info equates
   //    
   //    <1>  CLSID
   //    <2>  Name
   //    <3>  ProgID
   //    <4>  Version Independant ProgID
   //    <5>  Version
   //    <6>  InprocServer32 (DLL name & path)
   //    <7>  Threading Model
   //    <8>  ToolBoxBitmap (Path and index)
   //    <9>  TypeLib (File name and path)
   //    <10> Control Flag
   //    <11> Verb
   //    <12> Insertable Flag
   //    <13> MiscStatus
   //    <14> InprocHandler32 (DLL name & path)
   //    <15> LocalServer32 (EXE name & path)
   //    <16> Assembly Info ( == COM-registered .NET DLL )
   //    <20> Property Names
   //    <21> Property Flags
   //    <22> Property Types
   //    <25> Method Names
   //    <26> Method Args
   //    <30> Event Names
   //    <31> Event Args
   //    <40> Property Errors
   //    <41> Method Errors
   //    <42> Event Errors
   
   equ GOI_CLSID$                       to 1
   equ GOI_NAME$                        to 2
   equ GOI_PROGID$                      to 3
   equ GOI_PROGID_NOVER$                to 4
   equ GOI_VERSION$                     to 5
   equ GOI_INPROCSVR32$                 to 6
   equ GOI_THREADMODEL$                 to 7
   equ GOI_TOOLBOXBMP$                  to 8
   equ GOI_TYPELIB$                     to 9
   equ GOI_CONTROL$                     to 10
   equ GOI_VERB$                        to 11
   equ GOI_INSERTABLE$                  to 12
   equ GOI_MISCSTATUS$                  to 13
   equ GOI_INPROCHNDLR32$               to 14
   equ GOI_LOCALSVR32$                  to 15
   equ GOI_ASSEMBLY$                    to 16
   equ GOI_PROPERTIES$                  to 20
   equ GOI_PROPERTYFLAGS$               to 21
   equ GOI_PROPERTYTYPES$               to 22
   equ GOI_METHODS$                     to 25
   equ GOI_METHODARGS$                  to 26
   equ GOI_EVENTS$                      to 30
   equ GOI_EVENTARGS$                   to 31
   equ GOI_PROPERTYERRORS$              to 40
   equ GOI_METHODERRORS$                to 41
   equ GOI_EVENTERRORS$                 to 42
   
///////////////////////////////////////////////////////////////////////////////   
///////////////////////////////////////////////////////////////////////////////

   // From RevOLE_ClsTypeInfo.h  (mappings from OAIdl.h)
   
   equ GOI_PROPFLAG_METHOD$             to 0x00000001 ; // INVOKEKIND INVOKE_FUNC
   equ GOI_PROPFLAG_GET$                to 0x00000002 ; // INVOKEKIND INVOKE_PROPERTYGET
   equ GOI_PROPFLAG_SET$                to 0x00000004 ; // INVOKEKIND INVOKE_PROPERTYPUT
   equ GOI_PROPFLAG_SETREF$             to 0x00000008 ; // INVOKEKIND INVOKE_PROPERTYPUTREF

   equ GOI_PROPFLAG_RESTRICTED$         to 0x00000010 ; // FUNCFLAG_FRESTRICTED
   equ GOI_PROPFLAG_SOURCE$             to 0x00000020 ; // FUNCFLAG_FSOURCE
   equ GOI_PROPFLAG_BINDABLE$           to 0x00000040 ; // FUNCFLAG_FBINDABLE
   equ GOI_PROPFLAG_REQUESTEDIT$        to 0x00000080 ; // FUNCFLAG_FREQUESTEDIT
   equ GOI_PROPFLAG_DISPLAYBIND$        to 0x00000100 ; // FUNCFLAG_FDISPLAYBIND
   equ GOI_PROPFLAG_DEFAULTBIND$        to 0x00000200 ; // FUNCFLAG_FDEFAULTBIND
   equ GOI_PROPFLAG_HIDDEN$             to 0x00000400 ; // FUNCFLAG_FHIDDEN
   equ GOI_PROPFLAG_USESGETLASTERROR$   to 0x00000800 ; // FUNCFLAG_FUSESGETLASTERROR
   equ GOI_PROPFLAG_DEFAULTCOLLELEM$    to 0x00001000 ; // FUNCFLAG_FDEFAULTCOLLELEM
   equ GOI_PROPFLAG_UIDEFAULT$          to 0x00002000 ; // FUNCFLAG_FUIDEFAULT
   equ GOI_PROPFLAG_NONBROWSABLE$       to 0x00004000 ; // FUNCFLAG_FNONBROWSABLE
   equ GOI_PROPFLAG_REPLACEABLE$        to 0x00008000 ; // FUNCFLAG_FREPLACEABLE
   equ GOI_PROPFLAG_IMMEDIATEBIND$      to 0x00010000 ; // FUNCFLAG_FIMMEDIATEBIND
   equ GOI_PROPFLAG_VARARG$             to 0x00020000 ; // Has optional params
   
   equ GOI_PROPFLAG_FORMDESHIDE$        to ( GOI_PROPFLAG_NONBROWSABLE$ + |
                                             GOI_PROPFLAG_RESTRICTED$   + |
                                             GOI_PROPFLAG_HIDDEN$ )
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // OLE property types - these map directly onto the VARTYPE enum
   
   equ GOI_PROPTYPE_VT_EMPTY$            to 0
   equ GOI_PROPTYPE_VT_NULL$             to 1
   equ GOI_PROPTYPE_VT_I2$               to 2
   equ GOI_PROPTYPE_VT_I4$               to 3
   equ GOI_PROPTYPE_VT_R4$               to 4
   equ GOI_PROPTYPE_VT_R8$               to 5
   equ GOI_PROPTYPE_VT_CY$               to 6
   equ GOI_PROPTYPE_VT_DATE$             to 7
   equ GOI_PROPTYPE_VT_BSTR$             to 8
   equ GOI_PROPTYPE_VT_DISPATCH$         to 9
   equ GOI_PROPTYPE_VT_ERROR$            to 10
   equ GOI_PROPTYPE_VT_BOOL$             to 11
   equ GOI_PROPTYPE_VT_VARIANT$          to 12
   equ GOI_PROPTYPE_VT_UNKNOWN$          to 13
   equ GOI_PROPTYPE_VT_DECIMAL$          to 14
   equ GOI_PROPTYPE_VT_I1$               to 16
   equ GOI_PROPTYPE_VT_UI1$              to 17
   equ GOI_PROPTYPE_VT_UI2$              to 18
   equ GOI_PROPTYPE_VT_UI4$              to 19
   equ GOI_PROPTYPE_VT_I8$               to 20
   equ GOI_PROPTYPE_VT_UI8$              to 21
   equ GOI_PROPTYPE_VT_INT$              to 22
   equ GOI_PROPTYPE_VT_UINT$             to 23
   equ GOI_PROPTYPE_VT_VOID$             to 24
   equ GOI_PROPTYPE_VT_HRESULT$          to 25
   equ GOI_PROPTYPE_VT_PTR$              to 26
   equ GOI_PROPTYPE_VT_SAFEARRAY$        to 27
   equ GOI_PROPTYPE_VT_CARRAY$           to 28
   equ GOI_PROPTYPE_VT_USERDEFINED$      to 29
   equ GOI_PROPTYPE_VT_LPSTR$            to 30
   equ GOI_PROPTYPE_VT_LPWSTR$           to 31
   equ GOI_PROPTYPE_VT_RECORD$           to 36
   equ GOI_PROPTYPE_VT_INT_PTR$          to 37
   equ GOI_PROPTYPE_VT_UINT_PTR$         to 38
   equ GOI_PROPTYPE_VT_FILETIME$         to 64
   equ GOI_PROPTYPE_VT_BLOB$             to 65
   equ GOI_PROPTYPE_VT_STREAM$           to 66
   equ GOI_PROPTYPE_VT_STORAGE$          to 67
   equ GOI_PROPTYPE_VT_STREAMED_OBJECT$  to 68
   equ GOI_PROPTYPE_VT_STORED_OBJECT$    to 69
   equ GOI_PROPTYPE_VT_BLOB_OBJECT$      to 70
   equ GOI_PROPTYPE_VT_CF$               to 71
   equ GOI_PROPTYPE_VT_CLSID$            to 72
   equ GOI_PROPTYPE_VT_VERSIONED_STREAM$ to 73
   
   equ GOI_PROPTYPE_VT_LAST$             to GOI_PROPTYPE_VT_VERSIONED_STREAM$
   
   equ GOI_PROPTYPE_VT_BSTR_BLOB$        to 0x0FFF
   equ GOI_PROPTYPE_VT_VECTOR$           to 0x1000
   equ GOI_PROPTYPE_VT_ARRAY$            to 0x2000
   equ GOI_PROPTYPE_VT_BYREF$            to 0x4000
   equ GOI_PROPTYPE_VT_RESERVED$         to 0x8000
   equ GOI_PROPTYPE_VT_ILLEGAL$          to 0xFFFF
   equ GOI_PROPTYPE_VT_ILLEGALMASKED$    to 0x0FFF
   equ GOI_PROPTYPE_VT_TYPEMASK$         to 0x0FFF
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////   
#endif
///////////////////////////////////////////////////////////////////////////////   
///////////////////////////////////////////////////////////////////////////////   



