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.
|
|
//
// pbag.cpp
//
#include "pbag.h"
/////////////////////////////////////////////////////////////////////////////
//
STDMETHODIMP CPropBag::Read(LPCOLESTR pszPropName, VARIANT* pVar, IErrorLog* pErrorLog) { HRESULT hr = S_OK; BAGMAP::iterator pFind;
pFind = m_map.find(pszPropName);
if (pFind != m_map.end()) VariantCopy(pVar, &(*pFind).second); else hr = E_FAIL; return hr; }
STDMETHODIMP CPropBag::Write( LPCOLESTR pszPropName, VARIANT* pVar ) { HRESULT hr = S_OK;
try { pair<BAGMAP::iterator, bool> pr; pr = m_map.insert(BAGMAP::value_type(pszPropName, *pVar));
if (!pr.second) // couldn't insert (someone's there)
VariantCopy(&(*pr.first).second, pVar); } catch(...) { return E_OUTOFMEMORY; }
return hr; }
|