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.
130 lines
2.4 KiB
130 lines
2.4 KiB
/*
|
|
* ICLISITE.CPP
|
|
* IOleClientSite for Document Objects CSite class
|
|
*
|
|
* Copyright (c)1995-1999 Microsoft Corporation, All Rights Reserved
|
|
*/
|
|
|
|
|
|
#include "stdafx.h"
|
|
#include <docobj.h>
|
|
#include "site.h"
|
|
|
|
/**
|
|
Note: the m_cRef count is provided for debugging purposes only.
|
|
CSite controls the destruction of the object through delete,
|
|
not reference counting
|
|
*/
|
|
|
|
/*
|
|
* CImpIOleClientSite::CImpIOleClientSite
|
|
* CImpIOleClientSite::~CImpIOleClientSite
|
|
*
|
|
* Parameters (Constructor):
|
|
* pSite PCSite of the site we're in.
|
|
* pUnkOuter LPUNKNOWN to which we delegate.
|
|
*/
|
|
|
|
CImpIOleClientSite::CImpIOleClientSite( PCSite pSite, LPUNKNOWN pUnkOuter )
|
|
{
|
|
m_cRef = 0;
|
|
m_pSite = pSite;
|
|
m_pUnkOuter = pUnkOuter;
|
|
}
|
|
|
|
CImpIOleClientSite::~CImpIOleClientSite( void )
|
|
{
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
* CImpIOleClientSite::QueryInterface
|
|
* CImpIOleClientSite::AddRef
|
|
* CImpIOleClientSite::Release
|
|
*
|
|
* Purpose:
|
|
* IUnknown members for CImpIOleClientSite object.
|
|
*/
|
|
|
|
STDMETHODIMP CImpIOleClientSite::QueryInterface( REFIID riid, void **ppv )
|
|
{
|
|
return m_pUnkOuter->QueryInterface( riid, ppv );
|
|
}
|
|
|
|
|
|
STDMETHODIMP_(ULONG) CImpIOleClientSite::AddRef( void )
|
|
{
|
|
++m_cRef;
|
|
return m_pUnkOuter->AddRef();
|
|
}
|
|
|
|
STDMETHODIMP_(ULONG) CImpIOleClientSite::Release( void )
|
|
{
|
|
--m_cRef;
|
|
return m_pUnkOuter->Release();
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
* CImpIOleClientSite::SaveObject
|
|
*
|
|
* Purpose:
|
|
* Requests that the container call OleSave for the object that
|
|
* lives here. Typically this happens on server shutdown.
|
|
*
|
|
* Parameters:
|
|
* None
|
|
*
|
|
* Return Value:
|
|
* HRESULT Standard.
|
|
*/
|
|
STDMETHODIMP CImpIOleClientSite::SaveObject( void )
|
|
{
|
|
return S_OK;
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
* Unimplemented/trivial members
|
|
* GetMoniker
|
|
* GetContainer
|
|
* RequestNewObjectLayout
|
|
* OnShowWindow
|
|
* ShowObject
|
|
*/
|
|
|
|
STDMETHODIMP CImpIOleClientSite::GetMoniker(DWORD /*dwAssign*/,
|
|
DWORD /*dwWhich*/, LPMONIKER* /*ppmk*/)
|
|
{
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
STDMETHODIMP CImpIOleClientSite::GetContainer( LPOLECONTAINER* ppContainer )
|
|
{
|
|
_ASSERTE ( m_pSite );
|
|
if ( m_pSite )
|
|
{
|
|
return m_pSite->GetContainer ( ppContainer );
|
|
}
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
STDMETHODIMP CImpIOleClientSite::RequestNewObjectLayout(void)
|
|
{
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
STDMETHODIMP CImpIOleClientSite::OnShowWindow(BOOL /*fShow*/)
|
|
{
|
|
return S_OK;
|
|
}
|
|
|
|
STDMETHODIMP CImpIOleClientSite::ShowObject(void)
|
|
{
|
|
return S_OK;
|
|
}
|