Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

72 lines
1.5 KiB

/*--------------------------------------------------**
** Implementation file for IOleContainer interface. **
** **
** Author: Phil Cooper **
** Creation date: 08-27-95 **
**--------------------------------------------------*/
#include "project.hpp"
#pragma hdrstop
#include "ioc.hpp"
#include "ieu.hpp"
COleContainer::COleContainer(LPUNKNOWN pUnk)
{
_dwRef = 0;
_pUnkOuter = pUnk;
}
COleContainer::~COleContainer(void)
{
}
// IUnknown methods
STDMETHODIMP_(ULONG) COleContainer::AddRef(void)
{
++_dwRef;
return _pUnkOuter->AddRef();
}
STDMETHODIMP_(ULONG) COleContainer::Release(void)
{
--_dwRef;
return _pUnkOuter->Release();
}
STDMETHODIMP COleContainer::QueryInterface(REFIID riid, LPVOID *ppvObj)
{
return _pUnkOuter->QueryInterface(riid, ppvObj);
}
// IParseDisplayName method:
STDMETHODIMP COleContainer::ParseDisplayName(struct IBindCtx * pbc, unsigned short* lpszDisplayName, ULONG *pchEaten, struct IMoniker ** ppmkOut)
{
return E_NOTIMPL;
}
// IOleContainer methods
STDMETHODIMP COleContainer::EnumObjects(DWORD grfFlags, LPENUMUNKNOWN *ppenumUnknown)
{
ASSERT(ppenumUnknown != NULL);
*ppenumUnknown = NULL;
LPCENUMUNKNOWN pEnum = NULL;
pEnum = new (CEnumUnknown(this));
if (pEnum != NULL)
{
*ppenumUnknown = pEnum;
pEnum->AddRef();
}
else
return E_OUTOFMEMORY;
return S_OK;
}
STDMETHODIMP COleContainer::LockContainer(BOOL fLock)
{
return E_NOTIMPL;
}