windows-nt/Source/XPSP1/NT/enduser/stuff/itss/itparse.cpp

35 lines
887 B
C++
Raw Normal View History

2020-09-26 03:20:57 -05:00
// ITParse.cpp -- Implementation for the CParser class
#include "stdafx.h"
HRESULT STDMETHODCALLTYPE CParser::Create(IUnknown *punkOuter, REFIID riid, PPVOID ppv)
{
if (punkOuter && riid != IID_IUnknown)
return CLASS_E_NOAGGREGATION;
CParser *pParser = New CParser(punkOuter);
if (!pParser)
return STG_E_INSUFFICIENTMEMORY;
HRESULT hr = pParser->m_ImpIParser.Init();
if (hr == S_OK)
hr = pParser->QueryInterface(riid, ppv);
if (hr != S_OK)
delete pParser;
return hr;
}
HRESULT STDMETHODCALLTYPE CParser::CImpIParser::ParseDisplayName(
/* [unique][in] */ IBindCtx __RPC_FAR *pbc,
/* [in] */ LPOLESTR pszDisplayName,
/* [out] */ ULONG __RPC_FAR *pchEaten,
/* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut)
{
return CStorageMoniker::CreateStorageMoniker
(NULL, pbc, pszDisplayName, pchEaten, ppmkOut);
}