mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
2.4 KiB
116 lines
2.4 KiB
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
|
|
);
|