89 lines
1.9 KiB
C++
89 lines
1.9 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();
|
|
|
|
CADsExtMgr::~CADsExtMgr();
|
|
|
|
static
|
|
HRESULT
|
|
CADsExtMgr::CreateExtMgr(
|
|
IUnknown FAR * pUnkOuter,
|
|
CAggregatorDispMgr * pDispMgr,
|
|
CCredentials& Credentials,
|
|
LPTSTR pszClassName,
|
|
CADsExtMgr ** ppExtMgr
|
|
);
|
|
|
|
static
|
|
HRESULT
|
|
CADsExtMgr::AllocateExtMgrObject(
|
|
CADsExtMgr ** ppExtMgr
|
|
);
|
|
|
|
HRESULT
|
|
CADsExtMgr::QueryForAggregateeInterface(
|
|
REFIID riid,
|
|
LPVOID FAR * ppv
|
|
);
|
|
|
|
|
|
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
|
|
);
|
|
|
|
|
|
PCLASS_ENTRY _pClassEntry;
|
|
|
|
CAggregatorDispMgr * _pDispMgr;
|
|
|
|
};
|
|
|
|
|
|
HRESULT
|
|
ADSILoadExtensionManager(
|
|
LPWSTR pszClassName,
|
|
IUnknown * pUnkOuter,
|
|
CCredentials& Credentials,
|
|
CAggregatorDispMgr * pDispMgr,
|
|
CADsExtMgr ** ppExtMgr
|
|
);
|
|
|
|
void
|
|
FreeClassEntry(
|
|
PCLASS_ENTRY pClassEntry
|
|
);
|