mirror of https://github.com/tongzx/nt5src
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
65 lines
1.5 KiB
// 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__
|