117 lines
2.4 KiB
C++
117 lines
2.4 KiB
C++
|
class CADsExtMgr;
|
||
|
|
||
|
class CADsExtMgr
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
|
||
|
|
||
|
//
|
||
|
// The IDispatch methods are the main interface of the Dispatch Manager.
|
||
|
//
|
||
|
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo);
|
||
|
|
||
|
STDMETHOD(GetTypeInfo)(THIS_ UINT itinfo, LCID lcid, ITypeInfo **pptinfo);
|
||
|
|
||
|
STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPWSTR *rgszNames,
|
||
|
UINT cNames, LCID lcid, DISPID *rgdispid);
|
||
|
|
||
|
STDMETHOD(Invoke)(THIS_ DISPID dispidMember, REFIID riid, LCID lcid,
|
||
|
WORD wFlags, DISPPARAMS *pdispparams, VARIANT *pvarResult,
|
||
|
EXCEPINFO *pexcepinfo, UINT *puArgErr);
|
||
|
|
||
|
|
||
|
CADsExtMgr::CADsExtMgr(
|
||
|
IUnknown FAR * pUnkOuter
|
||
|
);
|
||
|
|
||
|
CADsExtMgr::~CADsExtMgr();
|
||
|
|
||
|
static
|
||
|
HRESULT
|
||
|
CADsExtMgr::CreateExtMgr(
|
||
|
IUnknown FAR * pUnkOuter,
|
||
|
CAggregatorDispMgr * pDispMgr,
|
||
|
LPTSTR pszClassNames[],
|
||
|
long lnNumClasses,
|
||
|
CCredentials *pCreds,
|
||
|
CADsExtMgr ** ppExtMgr
|
||
|
);
|
||
|
|
||
|
|
||
|
HRESULT
|
||
|
CADsExtMgr::QueryForAggregateeInterface(
|
||
|
REFIID riid,
|
||
|
LPVOID FAR * ppv
|
||
|
);
|
||
|
|
||
|
HRESULT
|
||
|
CADsExtMgr::LoadExtensions(
|
||
|
CCredentials & Cred
|
||
|
);
|
||
|
|
||
|
HRESULT
|
||
|
CADsExtMgr::FinalInitializeExtensions();
|
||
|
|
||
|
STDMETHOD (GetCLSIDForIID)(
|
||
|
REFIID riid,
|
||
|
long lFlags,
|
||
|
CLSID *pCLSID
|
||
|
);
|
||
|
|
||
|
STDMETHOD (GetObjectByCLSID)(
|
||
|
CLSID clsid,
|
||
|
IUnknown *pUnkOuter,
|
||
|
REFIID riid,
|
||
|
void **ppInterface
|
||
|
);
|
||
|
|
||
|
STDMETHOD (GetCLSIDForNames)(
|
||
|
LPOLESTR * rgszNames,
|
||
|
UINT cNames,
|
||
|
LCID lcid,
|
||
|
DISPID * rgDispId,
|
||
|
long lFlags,
|
||
|
CLSID *pCLSID
|
||
|
);
|
||
|
|
||
|
protected:
|
||
|
|
||
|
HRESULT
|
||
|
CheckAndPrefixExtIDArray(
|
||
|
IN DWORD dwExtensionID,
|
||
|
IN unsigned int cDispids,
|
||
|
IN OUT DISPID * rgDispids
|
||
|
);
|
||
|
|
||
|
HRESULT
|
||
|
CheckAndPrefixExtID(
|
||
|
IN DWORD dwExtensionID,
|
||
|
IN DISPID dispid,
|
||
|
IN OUT DISPID * pDispid
|
||
|
);
|
||
|
|
||
|
HRESULT
|
||
|
LoadExtensionsIfReqd(void);
|
||
|
|
||
|
PCLASS_ENTRY _pClassEntry;
|
||
|
|
||
|
CAggregatorDispMgr * _pDispMgr;
|
||
|
|
||
|
IUnknown FAR * _pUnkOuter;
|
||
|
|
||
|
BOOL _fExtensionsLoaded;
|
||
|
|
||
|
//
|
||
|
// Do not free owning object will free.
|
||
|
//
|
||
|
CCredentials * _pCreds;
|
||
|
};
|
||
|
|
||
|
|
||
|
void
|
||
|
FreeClassEntry(
|
||
|
PCLASS_ENTRY pClassEntry
|
||
|
);
|