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.8 KiB

  1. class CADsExtMgr;
  2. class CADsExtMgr
  3. {
  4. public:
  5. /* IUnknown methods */
  6. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
  7. //
  8. // The IDispatch methods are the main interface of the Dispatch Manager.
  9. //
  10. STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo);
  11. STDMETHOD(GetTypeInfo)(THIS_ UINT itinfo, LCID lcid, ITypeInfo **pptinfo);
  12. STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPWSTR *rgszNames,
  13. UINT cNames, LCID lcid, DISPID *rgdispid);
  14. STDMETHOD(Invoke)(THIS_ DISPID dispidMember, REFIID riid, LCID lcid,
  15. WORD wFlags, DISPPARAMS *pdispparams, VARIANT *pvarResult,
  16. EXCEPINFO *pexcepinfo, UINT *puArgErr);
  17. CADsExtMgr::CADsExtMgr();
  18. CADsExtMgr::~CADsExtMgr();
  19. static
  20. HRESULT
  21. CADsExtMgr::CreateExtMgr(
  22. IUnknown FAR * pUnkOuter,
  23. CAggregatorDispMgr * pDispMgr,
  24. LPTSTR pszClassName,
  25. CADsExtMgr ** ppExtMgr
  26. );
  27. static
  28. HRESULT
  29. CADsExtMgr::AllocateExtMgrObject(
  30. CADsExtMgr ** ppExtMgr
  31. );
  32. HRESULT
  33. CADsExtMgr::QueryForAggregateeInterface(
  34. REFIID riid,
  35. LPVOID FAR * ppv
  36. );
  37. HRESULT
  38. CADsExtMgr::FinalInitializeExtensions();
  39. protected:
  40. HRESULT
  41. CheckAndPrefixExtIDArray(
  42. IN DWORD dwExtensionID,
  43. IN unsigned int cDispids,
  44. IN OUT DISPID * rgDispids
  45. );
  46. HRESULT
  47. CheckAndPrefixExtID(
  48. IN DWORD dwExtensionID,
  49. IN DISPID dispid,
  50. IN OUT DISPID * pDispid
  51. );
  52. PCLASS_ENTRY _pClassEntry;
  53. CAggregatorDispMgr * _pDispMgr;
  54. };
  55. HRESULT
  56. ADSILoadExtensionManager(
  57. LPWSTR pszClassName,
  58. IUnknown * pUnkOuter,
  59. CAggregatorDispMgr * pDispMgr,
  60. CADsExtMgr ** ppExtMgr
  61. );
  62. void
  63. FreeClassEntry(
  64. PCLASS_ENTRY pClassEntry
  65. );