home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / inole2 / interfac / iadvsink.cpp next >
C/C++ Source or Header  |  1996-05-21  |  4KB  |  197 lines

  1. /*
  2.  * IADVSINK.CPP
  3.  *
  4.  * Template IAdviseSink interface implementation.
  5.  *
  6.  * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  7.  *
  8.  * Kraig Brockschmidt, Microsoft
  9.  * Internet  :  kraigb@microsoft.com
  10.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  11.  */
  12.  
  13.  
  14. #include "iadvsink.h"
  15.  
  16.  
  17. /*
  18.  * CImpIAdviseSink::CImpIAdviseSink
  19.  * CImpIAdviseSink::~CImpIAdviseSink
  20.  *
  21.  * Parameters (Constructor):
  22.  *  pObj            LPVOID of the object we're in.
  23.  *  pUnkOuter       LPUNKNOWN to which we delegate.
  24.  */
  25.  
  26. CImpIAdviseSink::CImpIAdviseSink(LPVOID pObj, LPUNKNOWN pUnkOuter)
  27.     {
  28.     m_cRef=0;
  29.     m_pObj=pObj;
  30.     m_pUnkOuter=pUnkOuter;
  31.     return;
  32.     }
  33.  
  34. CImpIAdviseSink::~CImpIAdviseSink(void)
  35.     {
  36.     return;
  37.     }
  38.  
  39.  
  40.  
  41.  
  42. /*
  43.  * CImpIAdviseSink::QueryInterface
  44.  * CImpIAdviseSink::AddRef
  45.  * CImpIAdviseSink::Release
  46.  *
  47.  * Purpose:
  48.  *  Delegating IUnknown members for CImpIAdviseSink.
  49.  */
  50.  
  51. STDMETHODIMP CImpIAdviseSink::QueryInterface(REFIID riid
  52.     , LPVOID *ppv)
  53.     {
  54.     return m_pUnkOuter->QueryInterface(riid, ppv);
  55.     }
  56.  
  57.  
  58. STDMETHODIMP_(ULONG) CImpIAdviseSink::AddRef(void)
  59.     {
  60.     ++m_cRef;
  61.     return m_pUnkOuter->AddRef();
  62.     }
  63.  
  64. STDMETHODIMP_(ULONG) CImpIAdviseSink::Release(void)
  65.     {
  66.     --m_cRef;
  67.     return m_pUnkOuter->Release();
  68.     }
  69.  
  70.  
  71.  
  72.  
  73. /*
  74.  * CImpIAdviseSink::OnDataChange
  75.  *
  76.  * Purpose:
  77.  *  Notifes the advise sink that data changed in a data object.
  78.  *  On this message you may request a new data rendering and update
  79.  *  your displays as necessary.
  80.  *
  81.  * Parameters:
  82.  *  pFEIn           LPFORMATETC describing format that changed
  83.  *  pSTM            LPSTGMEDIUM providing the medium in which the
  84.  *                  data is provided.
  85.  *
  86.  * Return Value:
  87.  *  None
  88.  */
  89.  
  90. STDMETHODIMP_(void) CImpIAdviseSink::OnDataChange(LPFORMATETC pFEIn
  91.     , LPSTGMEDIUM pSTM)
  92.     {
  93.     return;
  94.     }
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102. /*
  103.  * CImpIAdviseSink::OnViewChange
  104.  *
  105.  * Purpose:
  106.  *  Notifes the advise sink that presentation data changed in the
  107.  *  data object to which we're connected providing the right time
  108.  *  to update displays using such presentations.
  109.  *
  110.  * Parameters:
  111.  *  dwAspect        DWORD indicating which aspect has changed.
  112.  *  lindex          LONG indicating the piece that changed.
  113.  *
  114.  * Return Value:
  115.  *  None
  116.  */
  117.  
  118. STDMETHODIMP_(void) CImpIAdviseSink::OnViewChange(DWORD dwAspect
  119.     , LONG lindex)
  120.     {
  121.     return;
  122.     }
  123.  
  124.  
  125.  
  126.  
  127.  
  128. /*
  129.  * CImpIAdviseSink::OnRename
  130.  *
  131.  * Purpose:
  132.  *  Informs the advise sink that a linked object has been renamed.
  133.  *  Generally only the OLE default handler cares about this.
  134.  *
  135.  * Parameters:
  136.  *  pmk             LPMONIKER providing the new name of the object
  137.  *
  138.  * Return Value:
  139.  *  None
  140.  */
  141.  
  142. STDMETHODIMP_(void) CImpIAdviseSink::OnRename(LPMONIKER pmk)
  143.     {
  144.     return;
  145.     }
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152. /*
  153.  * CImpIAdviseSink::OnSave
  154.  *
  155.  * Purpose:
  156.  *  Informs the advise sink that the OLE object has been saved
  157.  *  persistently.  The primary purpose of this is for containers
  158.  *  that want to make optimizations for objects that are not in a
  159.  *  saved state, so on this you have to disable such optimizations.
  160.  *  Generally only the OLE default handler cares about this.
  161.  *
  162.  * Parameters:
  163.  *  None
  164.  *
  165.  * Return Value:
  166.  *  None
  167.  */
  168.  
  169. STDMETHODIMP_(void) CImpIAdviseSink::OnSave(void)
  170.     {
  171.     return;
  172.     }
  173.  
  174.  
  175.  
  176.  
  177.  
  178. /*
  179.  * CImpIAdviseSink::OnClose
  180.  *
  181.  * Purpose:
  182.  *  Informs the advise sink that the OLE object has closed and is
  183.  *  no longer bound in any way.  Generally only of interest to the
  184.  *  OLE default handler.
  185.  *
  186.  * Parameters:
  187.  *  None
  188.  *
  189.  * Return Value:
  190.  *  None
  191.  */
  192.  
  193. STDMETHODIMP_(void) CImpIAdviseSink::OnClose(void)
  194.     {
  195.     return;
  196.     }
  197.