' ########################################################################################
' Microsoft Windows
' File: MultInfo.inc
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_MultInfo_PBI)
#DEFINE PBX_MultInfo_PBI
%EQUATE `MULTINFO_INC = 1
'/* header files for imported files */
#INCLUDE ONCE "Legacy/COM/OAIdl.inc"
#IF NOT %DEF(%OLECTL_INC)
#INCLUDE ONCE "Legacy/COM/OleCtl.inc"
#ENDIF
$IID_IProvideMultipleClassInfo = GUID$("{A7ABA9C1-8983-11CF-8F20-00805F2CD064}")
' ########################################################################################
' IProvideMultipleClassInfo interface
' IID = A7ABA9C1-8983-11CF-8F20-00805F2CD064
' Inherited interface = IProvideClassInfo2
' ########################################################################################
#IF NOT %DEF(%IProvideMultipleClassInfo_INTERFACE_DEFINED)
 %IProvideMultipleClassInfo_INTERFACE_DEFINED = 1
%EQUATE `MULTICLASSINFO_GETTYPEINFO = &H00000001
%EQUATE `MULTICLASSINFO_GETNUMRESERVEDDISPIDS = &H00000002
%EQUATE `MULTICLASSINFO_GETIIDPRIMARY = &H00000004
%EQUATE `MULTICLASSINFO_GETIIDSOURCE = &H00000008
%EQUATE `TIFLAGS_EXTENDDISPATCHONLY = &H00000001
INTERFACE IProvideMultipleClassInfo $IID_IProvideMultipleClassInfo
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetClassInfo ( ' VTable offset = 12
 BYREF ppTI AS ITypeInfo
 ) AS LONG
 ' =====================================================================================
 METHOD GetGUID ( ' VTable offset = 16
 BYVAL dwGuidKind AS DWORD
 , BYREF pGUID AS GUID
 ) AS LONG
 ' =====================================================================================
 METHOD GetMultiTypeInfoCount ( ' VTable offset = 20
 BYREF pcti AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetInfoOfIndex ( ' VTable offset = 24
 BYVAL iti AS DWORD
 , BYVAL dwFlags AS DWORD
 , BYREF pptiCoClass AS ITypeInfo
 , BYREF pdwTIFlags AS DWORD
 , BYREF pcdispidReserved AS DWORD
 , BYREF piidPrimary AS GUID
 , BYREF piidSource AS GUID
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IProvideMultipleClassInfo_INTERFACE_DEFINED__ */
#ENDIF
