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

// 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__