66 lines
1.5 KiB
C
66 lines
1.5 KiB
C
|
// xfrmserv.h -- Declaration for the Transform Services class
|
||
|
|
||
|
#ifndef __XFRMSERV_H__
|
||
|
|
||
|
#define __XFRMSERV_H__
|
||
|
|
||
|
class CTransformServices : public CITUnknown
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
~CTransformServices();
|
||
|
|
||
|
static HRESULT Create(IUnknown *punkOuter, IITFileSystem *pITSFS,
|
||
|
ITransformServices **ppTransformServices
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
CTransformServices(IUnknown *punkOuter);
|
||
|
|
||
|
class CImpITransformServices : public IITTransformServices
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
CImpITransformServices(CTransformServices *pBackObj, IUnknown *punkOuter);
|
||
|
~CImpITransformServices();
|
||
|
|
||
|
HRESULT Initial(IITFileSystem *pITSFS);
|
||
|
|
||
|
// ITransformServices methods
|
||
|
|
||
|
HRESULT STDMETHODCALLTYPE PerTransformStorage
|
||
|
(REFCLSID rclsidXForm, IStorage **ppStg);
|
||
|
|
||
|
HRESULT STDMETHODCALLTYPE PerTransformInstanceStorage
|
||
|
(REFCLSID rclsidXForm, const WCHAR *pwszDataSpace, IStorage **ppStg);
|
||
|
|
||
|
HRESULT STDMETHODCALLTYPE SetKeys
|
||
|
(REFCLSID rclsidXForm, const WCHAR *pwszDataSpace,
|
||
|
PBYTE pbReadKey, UINT cbReadKey,
|
||
|
PBYTE pbWriteKey, UINT cbWriteKey
|
||
|
);
|
||
|
|
||
|
HRESULT STDMETHODCALLTYPE CreateTemporaryStream(IStream **ppStrm);
|
||
|
|
||
|
private:
|
||
|
|
||
|
IITFileSystem *m_pITSFS;
|
||
|
};
|
||
|
|
||
|
CImpITransformServices m_ImpITransformServices;
|
||
|
};
|
||
|
|
||
|
inline CTransformServices::CTransformServices(IUnknown *pUnkOuter)
|
||
|
: m_ImpITransformServices(this, pUnkOuter),
|
||
|
CITUnknown(&IID_ITransformServices, 1, &m_ImpITransformServices)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
inline CTransformServices::~CTransformServices(void)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
#endif // __XFRMSERV_H__
|