windows-nt/Source/XPSP1/NT/enduser/stuff/itss/itparse.h
2020-09-26 16:20:57 +08:00

77 lines
1.4 KiB
C++

// ITParse.h -- Class definition for CParser based on IParseDisplayName
#ifndef __ITPARSE_H__
#define __ITPARSE_H__
class CParser : public CITUnknown
{
public:
// Creator:
static HRESULT STDMETHODCALLTYPE Create(IUnknown *punkOuter, REFIID riid, PPVOID ppv);
// Destructor:
~CParser(void);
private:
// Constructor:
CParser(IUnknown *punkOuter);
class CImpIParser : public IITParseDisplayName
{
public:
CImpIParser(CParser *pBackObj, IUnknown *punkOuter);
~CImpIParser(void);
// Initialing method:
STDMETHODIMP Init();
HRESULT STDMETHODCALLTYPE ParseDisplayName(
/* [unique][in] */ IBindCtx __RPC_FAR *pbc,
/* [in] */ LPOLESTR pszDisplayName,
/* [out] */ ULONG __RPC_FAR *pchEaten,
/* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut);
private:
};
CImpIParser m_ImpIParser;
};
typedef CParser *PCParser;
inline CParser::CParser(IUnknown *pUnkOuter)
: m_ImpIParser(this, pUnkOuter),
CITUnknown(&IID_IParseDisplayName, 1, &m_ImpIParser)
{
}
inline CParser::~CParser(void)
{
}
inline CParser::CImpIParser::CImpIParser(CParser *pBackObj, IUnknown *punkOuter)
: IITParseDisplayName(pBackObj, punkOuter)
{
}
inline CParser::CImpIParser::~CImpIParser(void)
{
}
inline STDMETHODIMP CParser::CImpIParser::Init()
{
return NO_ERROR;
}
#endif // __ITPARSE_H__