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.

41 lines
923 B

  1. //
  2. // funcprv.h
  3. //
  4. #ifndef FNPRBASE_H
  5. #define FNPRBASE_H
  6. #include "private.h"
  7. class __declspec(novtable) CFunctionProviderBase : public ITfFunctionProvider
  8. {
  9. public:
  10. CFunctionProviderBase(TfClientId tid);
  11. virtual ~CFunctionProviderBase();
  12. //
  13. // IUnknown methods
  14. //
  15. STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj);
  16. STDMETHODIMP_(ULONG) AddRef(void);
  17. STDMETHODIMP_(ULONG) Release(void);
  18. //
  19. // ITfFunctionProvider
  20. //
  21. STDMETHODIMP GetType(GUID *pguid);
  22. STDMETHODIMP GetDescription(BSTR *pbstrDesc);
  23. STDMETHODIMP GetFunction(REFGUID rguid, REFIID riid, IUnknown **ppunk);
  24. BOOL Init(REFGUID guidType, WCHAR *pszDesc);
  25. HRESULT _Advise(ITfThreadMgr *ptim);
  26. HRESULT _Unadvise(ITfThreadMgr *ptim);
  27. private:
  28. TfClientId _tid;
  29. GUID _guidType;
  30. BSTR _bstrDesc;
  31. long _cRef;
  32. };
  33. #endif // FNPRBASE_H