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.

65 lines
1.5 KiB

  1. // xfrmserv.h -- Declaration for the Transform Services class
  2. #ifndef __XFRMSERV_H__
  3. #define __XFRMSERV_H__
  4. class CTransformServices : public CITUnknown
  5. {
  6. public:
  7. ~CTransformServices();
  8. static HRESULT Create(IUnknown *punkOuter, IITFileSystem *pITSFS,
  9. ITransformServices **ppTransformServices
  10. );
  11. private:
  12. CTransformServices(IUnknown *punkOuter);
  13. class CImpITransformServices : public IITTransformServices
  14. {
  15. public:
  16. CImpITransformServices(CTransformServices *pBackObj, IUnknown *punkOuter);
  17. ~CImpITransformServices();
  18. HRESULT Initial(IITFileSystem *pITSFS);
  19. // ITransformServices methods
  20. HRESULT STDMETHODCALLTYPE PerTransformStorage
  21. (REFCLSID rclsidXForm, IStorage **ppStg);
  22. HRESULT STDMETHODCALLTYPE PerTransformInstanceStorage
  23. (REFCLSID rclsidXForm, const WCHAR *pwszDataSpace, IStorage **ppStg);
  24. HRESULT STDMETHODCALLTYPE SetKeys
  25. (REFCLSID rclsidXForm, const WCHAR *pwszDataSpace,
  26. PBYTE pbReadKey, UINT cbReadKey,
  27. PBYTE pbWriteKey, UINT cbWriteKey
  28. );
  29. HRESULT STDMETHODCALLTYPE CreateTemporaryStream(IStream **ppStrm);
  30. private:
  31. IITFileSystem *m_pITSFS;
  32. };
  33. CImpITransformServices m_ImpITransformServices;
  34. };
  35. inline CTransformServices::CTransformServices(IUnknown *pUnkOuter)
  36. : m_ImpITransformServices(this, pUnkOuter),
  37. CITUnknown(&IID_ITransformServices, 1, &m_ImpITransformServices)
  38. {
  39. }
  40. inline CTransformServices::~CTransformServices(void)
  41. {
  42. }
  43. #endif // __XFRMSERV_H__