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.

76 lines
1.4 KiB

  1. // ITParse.h -- Class definition for CParser based on IParseDisplayName
  2. #ifndef __ITPARSE_H__
  3. #define __ITPARSE_H__
  4. class CParser : public CITUnknown
  5. {
  6. public:
  7. // Creator:
  8. static HRESULT STDMETHODCALLTYPE Create(IUnknown *punkOuter, REFIID riid, PPVOID ppv);
  9. // Destructor:
  10. ~CParser(void);
  11. private:
  12. // Constructor:
  13. CParser(IUnknown *punkOuter);
  14. class CImpIParser : public IITParseDisplayName
  15. {
  16. public:
  17. CImpIParser(CParser *pBackObj, IUnknown *punkOuter);
  18. ~CImpIParser(void);
  19. // Initialing method:
  20. STDMETHODIMP Init();
  21. HRESULT STDMETHODCALLTYPE ParseDisplayName(
  22. /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  23. /* [in] */ LPOLESTR pszDisplayName,
  24. /* [out] */ ULONG __RPC_FAR *pchEaten,
  25. /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut);
  26. private:
  27. };
  28. CImpIParser m_ImpIParser;
  29. };
  30. typedef CParser *PCParser;
  31. inline CParser::CParser(IUnknown *pUnkOuter)
  32. : m_ImpIParser(this, pUnkOuter),
  33. CITUnknown(&IID_IParseDisplayName, 1, &m_ImpIParser)
  34. {
  35. }
  36. inline CParser::~CParser(void)
  37. {
  38. }
  39. inline CParser::CImpIParser::CImpIParser(CParser *pBackObj, IUnknown *punkOuter)
  40. : IITParseDisplayName(pBackObj, punkOuter)
  41. {
  42. }
  43. inline CParser::CImpIParser::~CImpIParser(void)
  44. {
  45. }
  46. inline STDMETHODIMP CParser::CImpIParser::Init()
  47. {
  48. return NO_ERROR;
  49. }
  50. #endif // __ITPARSE_H__