
IProvideMulitpleClassInfo, an extension of the IProvideClassInfo2 interface, provides access to the type information of the default interfaces that describe an extended object.
A container typically implements an extender object to add properties, methods, and events to an existing object, the extendee. This interface can be implemented to return the type information of the extender (as index 0) and the type information of the extendee (as index 1). If this extendee is itself an extension, this interface must also return the type information of what that object extends (as index 2 in this example). This process continues for all extended objects until the base object (the innermost object being extended) is reached.
Only the default interfaces are part of the logical merging. Other interfaces are simply ignored; nothing can be inferred by their presence or absence.
This interface is typically implemented by an Active Scripting host and requested by an Active Scripting engine.
The IProvideMultipleClassInfo interface consists of two methods (listed in vtable order):
HRESULT IProvideMultipleClassInfo::GetMultiTypeInfoCount(
[out] ULONG *pcti
);
Returns the number of type information interfaces that make up this composite default interface.
| S_OK | Success. |
| E_POINTER | An invalid pointer was passed. |
| E_INVALIDARG | An invalid argument was passed. |
| E_FAIL | Unspecified error. |
HRESULT IProvideMultipleClassInfo::GetInfoOfIndex(
[in] ULONG iti,
[in] DWORD dwMCIFlags,
[out] ITypeInfo **pptiCoClass,
[out] DWORD *pdwTIFlags,
[out] ULONG *pcdispidReserved,
[out] IID *piidPrimary,
[out] IID *piidSource
);
Returns information associated with a particular contributing default interface.
| S_OK | Success. |
| E_POINTER | An invalid pointer was passed. |
| E_INVALIDARG | An invalid argument was passed. |
| E_FAIL | Unspecified error. |
| MULTICLASSINFO_GETTYPEINFO | Indicates a request for pptiCoClass information. |
| MULTICLASSINFO_GETNUMRESERVEDDISPIDS | Indicates a request for pcdispidReserved and pdwTIFlags information. |
| MULTICLASSINFO_GETIIDPRIMARY | Indicates a request for piidPrimary information. |
| MULTICLASSINFO_GETIIDSOURCE | Indicates a request for piidSource information. |
| TIFLAGS_EXTENDDISPATCHONLY | Indicates that pptiCoClass should be filled in. |
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.