mirror of https://github.com/lianthony/NT4.0
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.
109 lines
2.9 KiB
109 lines
2.9 KiB
// This is a part of the Microsoft Foundation Classes C++ library.
|
|
// Copyright (C) 1992-1995 Microsoft Corporation
|
|
// All rights reserved.
|
|
//
|
|
// This source code is only intended as a supplement to the
|
|
// Microsoft Foundation Classes Reference and related
|
|
// electronic documentation provided with the library.
|
|
// See these sources for detailed information regarding the
|
|
// Microsoft Foundation Classes product.
|
|
|
|
#include "stdafx.h"
|
|
|
|
#ifdef AFXCTL_CORE3_SEG
|
|
#pragma code_seg(AFXCTL_CORE3_SEG)
|
|
#endif
|
|
|
|
#ifdef _DEBUG
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
#define new DEBUG_NEW
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COleControl::XOleCache
|
|
|
|
STDMETHODIMP_(ULONG) COleControl::XOleCache::AddRef()
|
|
{
|
|
METHOD_PROLOGUE_EX_(COleControl, OleCache)
|
|
return (ULONG)pThis->ExternalAddRef();
|
|
}
|
|
|
|
STDMETHODIMP_(ULONG) COleControl::XOleCache::Release()
|
|
{
|
|
METHOD_PROLOGUE_EX_(COleControl, OleCache)
|
|
return (ULONG)pThis->ExternalRelease();
|
|
}
|
|
|
|
STDMETHODIMP COleControl::XOleCache::QueryInterface(
|
|
REFIID iid, LPVOID* ppvObj)
|
|
{
|
|
METHOD_PROLOGUE_EX_(COleControl, OleCache)
|
|
return (HRESULT)pThis->ExternalQueryInterface(&iid, ppvObj);
|
|
}
|
|
|
|
STDMETHODIMP COleControl::XOleCache::Cache(LPFORMATETC lpFormatetc, DWORD advf,
|
|
LPDWORD lpdwConnection)
|
|
{
|
|
METHOD_PROLOGUE_EX_(COleControl, OleCache)
|
|
|
|
if (pThis->m_pDefIOleCache == NULL)
|
|
pThis->m_pDefIOleCache =
|
|
(LPOLECACHE)pThis->QueryDefHandler(IID_IOleCache);
|
|
|
|
return pThis->m_pDefIOleCache->Cache(lpFormatetc, advf, lpdwConnection);
|
|
}
|
|
|
|
STDMETHODIMP COleControl::XOleCache::Uncache(DWORD dwConnection)
|
|
{
|
|
METHOD_PROLOGUE_EX_(COleControl, OleCache)
|
|
|
|
if (pThis->m_pDefIOleCache == NULL)
|
|
pThis->m_pDefIOleCache =
|
|
(LPOLECACHE)pThis->QueryDefHandler(IID_IOleCache);
|
|
|
|
return pThis->m_pDefIOleCache->Uncache(dwConnection);
|
|
}
|
|
|
|
STDMETHODIMP COleControl::XOleCache::EnumCache(
|
|
LPENUMSTATDATA* ppenumStatData)
|
|
{
|
|
METHOD_PROLOGUE_EX_(COleControl, OleCache)
|
|
|
|
if (pThis->m_pDefIOleCache == NULL)
|
|
pThis->m_pDefIOleCache =
|
|
(LPOLECACHE)pThis->QueryDefHandler(IID_IOleCache);
|
|
|
|
return pThis->m_pDefIOleCache->EnumCache(ppenumStatData);
|
|
}
|
|
|
|
STDMETHODIMP COleControl::XOleCache::InitCache(LPDATAOBJECT pDataObject)
|
|
{
|
|
METHOD_PROLOGUE_EX_(COleControl, OleCache)
|
|
|
|
if (pThis->m_pDefIOleCache == NULL)
|
|
pThis->m_pDefIOleCache =
|
|
(LPOLECACHE)pThis->QueryDefHandler(IID_IOleCache);
|
|
|
|
return pThis->m_pDefIOleCache->InitCache(pDataObject);
|
|
}
|
|
|
|
STDMETHODIMP COleControl::XOleCache::SetData(LPFORMATETC pformatetc,
|
|
STGMEDIUM* pmedium, BOOL fRelease)
|
|
{
|
|
METHOD_PROLOGUE_EX_(COleControl, OleCache)
|
|
|
|
if (pThis->m_pDefIOleCache == NULL)
|
|
pThis->m_pDefIOleCache =
|
|
(LPOLECACHE)pThis->QueryDefHandler(IID_IOleCache);
|
|
|
|
return pThis->m_pDefIOleCache->SetData(pformatetc, pmedium, fRelease);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Force any extra compiler-generated code into AFX_INIT_SEG
|
|
|
|
#ifdef AFX_INIT_SEG
|
|
#pragma code_seg(AFX_INIT_SEG)
|
|
#endif
|