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.

40 lines
1.2 KiB

  1. #ifndef __DSPSPRT_H__
  2. #define __DSPSPRT_H__
  3. // get ITypeInfo uuid/lcid out of shdocvw's type library
  4. HRESULT MSIEFTPGetTypeInfo(LCID lcid, UUID uuid, ITypeInfo **ppITypeInfo);
  5. //
  6. // Helper C++ class used to share code for the IDispatch implementations
  7. //
  8. // Inherit from this class passing this IDispatch's IID to the ctor
  9. //
  10. class CImpIDispatch
  11. {
  12. public:
  13. // We need access to the virtual QI -- define it PURE here
  14. virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj) PURE;
  15. protected:
  16. CImpIDispatch(const IID * piid);
  17. ~CImpIDispatch(void);
  18. // For raising exceptions
  19. void Exception(WORD);
  20. // IDispatch members
  21. STDMETHODIMP GetTypeInfoCount(UINT *);
  22. STDMETHODIMP GetTypeInfo(UINT, LCID, ITypeInfo **);
  23. STDMETHODIMP GetIDsOfNames(REFIID, OLECHAR **, UINT, LCID, DISPID *);
  24. STDMETHODIMP Invoke(DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *);
  25. private:
  26. const IID *m_piid;
  27. IDispatch *m_pdisp;
  28. ITypeInfo *m_pITINeutral; // Cached Type information
  29. };
  30. #endif // __DSPSPRT_H__