Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

88 lines
1.9 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();
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
);