Leaked source code of windows server 2003
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

  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. CCredentials& Credentials,
  25. LPTSTR pszClassName,
  26. CADsExtMgr ** ppExtMgr
  27. );
  28. static
  29. HRESULT
  30. CADsExtMgr::AllocateExtMgrObject(
  31. CADsExtMgr ** ppExtMgr
  32. );
  33. HRESULT
  34. CADsExtMgr::QueryForAggregateeInterface(
  35. REFIID riid,
  36. LPVOID FAR * ppv
  37. );
  38. protected:
  39. HRESULT
  40. CheckAndPrefixExtIDArray(
  41. IN DWORD dwExtensionID,
  42. IN unsigned int cDispids,
  43. IN OUT DISPID * rgDispids
  44. );
  45. HRESULT
  46. CheckAndPrefixExtID(
  47. IN DWORD dwExtensionID,
  48. IN DISPID dispid,
  49. IN OUT DISPID * pDispid
  50. );
  51. PCLASS_ENTRY _pClassEntry;
  52. CAggregatorDispMgr * _pDispMgr;
  53. };
  54. HRESULT
  55. ADSILoadExtensionManager(
  56. LPWSTR pszClassName,
  57. IUnknown * pUnkOuter,
  58. CCredentials& Credentials,
  59. CAggregatorDispMgr * pDispMgr,
  60. CADsExtMgr ** ppExtMgr
  61. );
  62. void
  63. FreeClassEntry(
  64. PCLASS_ENTRY pClassEntry
  65. );