home *** CD-ROM | disk | FTP | other *** search
- // This is a part of the Microsoft Foundation Classes C++ library.
- // Copyright (C) 1992-1998 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
-