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 / iadvsnk2.cpp < prev    next >
C/C++ Source or Header  |  1996-05-21  |  4KB  |  224 lines

  1. /*
  2.  * IADVSNK2.CPP
  3.  *
  4.  * Template IAdviseSink2 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 "iadvsnk2.h"
  15.  
  16.  
  17. /*
  18.  * CImpIAdviseSink2::CImpIAdviseSink2
  19.  * CImpIAdviseSink2::~CImpIAdviseSink2
  20.  *
  21.  * Parameters (Constructor):
  22.  *  pObj            LPVOID of the object we're in.
  23.  *  pUnkOuter       LPUNKNOWN to which we delegate.
  24.  */
  25.  
  26. CImpIAdviseSink2::CImpIAdviseSink2(LPVOID pObj, LPUNKNOWN pUnkOuter)
  27.     {
  28.     m_cRef=0;
  29.     m_pObj=pObj;
  30.     m_pUnkOuter=pUnkOuter;
  31.     return;
  32.     }
  33.  
  34. CImpIAdviseSink2::~CImpIAdviseSink2(void)
  35.     {
  36.     return;
  37.     }
  38.  
  39.  
  40.  
  41.  
  42. /*
  43.  * CImpIAdviseSink2::QueryInterface
  44.  * CImpIAdviseSink2::AddRef
  45.  * CImpIAdviseSink2::Release
  46.  *
  47.  * Purpose:
  48.  *  Delegating IUnknown members for CImpIAdviseSink2.
  49.  */
  50.  
  51. STDMETHODIMP CImpIAdviseSink2::QueryInterface(REFIID riid
  52.     , LPVOID *ppv)
  53.     {
  54.     return m_pUnkOuter->QueryInterface(riid, ppv);
  55.     }
  56.  
  57.  
  58. STDMETHODIMP_(ULONG) CImpIAdviseSink2::AddRef(void)
  59.     {
  60.     ++m_cRef;
  61.     return m_pUnkOuter->AddRef();
  62.     }
  63.  
  64. STDMETHODIMP_(ULONG) CImpIAdviseSink2::Release(void)
  65.     {
  66.     --m_cRef;
  67.     return m_pUnkOuter->Release();
  68.     }
  69.  
  70.  
  71.  
  72.  
  73. /*
  74.  * CImpIAdviseSink2::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) CImpIAdviseSink2::OnDataChange(LPFORMATETC pFEIn
  91.     , LPSTGMEDIUM pSTM)
  92.     {
  93.     return;
  94.     }
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102. /*
  103.  * CImpIAdviseSink2::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) CImpIAdviseSink2::OnViewChange(DWORD dwAspect
  119.     , LONG lindex)
  120.     {
  121.     return;
  122.     }
  123.  
  124.  
  125.  
  126.  
  127.  
  128. /*
  129.  * CImpIAdviseSink2::OnRename
  130.  *
  131.  * Purpose:
  132.  *  Informs the advise sink that a linked compound document object
  133.  *  has been renamed.  Generally only the OLE default handler cares
  134.  *  about this.
  135.  *
  136.  * Parameters:
  137.  *  pmk             LPMONIKER providing the new name of the object
  138.  *
  139.  * Return Value:
  140.  *  None
  141.  */
  142.  
  143. STDMETHODIMP_(void) CImpIAdviseSink2::OnRename(LPMONIKER pmk)
  144.     {
  145.     return;
  146.     }
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153. /*
  154.  * CImpIAdviseSink2::OnSave
  155.  *
  156.  * Purpose:
  157.  *  Informs the advise sink that the compound document object has
  158.  *  been saved persistently.  The primary purpose of this is for
  159.  *  containers that want to make optimizations for objects that are
  160.  *  not in a saved state, so on this you have to disable such
  161.  *  optimizations.  Generally only the OLE default handler
  162.  *  cares about this.
  163.  *
  164.  * Parameters:
  165.  *  None
  166.  *
  167.  * Return Value:
  168.  *  None
  169.  */
  170.  
  171. STDMETHODIMP_(void) CImpIAdviseSink2::OnSave(void)
  172.     {
  173.     return;
  174.     }
  175.  
  176.  
  177.  
  178.  
  179.  
  180. /*
  181.  * CImpIAdviseSink2::OnClose
  182.  *
  183.  * Purpose:
  184.  *  Informs the advise sink that the compound document object has
  185.  *  closed and is no longer bound in any way.  Generally only of
  186.  *  interest to the OLE default handler.
  187.  *
  188.  * Parameters:
  189.  *  None
  190.  *
  191.  * Return Value:
  192.  *  None
  193.  */
  194.  
  195. STDMETHODIMP_(void) CImpIAdviseSink2::OnClose(void)
  196.     {
  197.     return;
  198.     }
  199.  
  200.  
  201.  
  202.  
  203.  
  204. /*
  205.  * CImpIAdviseSink2::OnLinkSrcChange
  206.  *
  207.  * Purpose:
  208.  *  Informs the advise sink that a linked compound document object
  209.  *  has changed its link source to the object identified by the
  210.  *  given moniker.  This is generally only of interest to the OLE
  211.  *  default handler's implementation of linked objects.
  212.  *
  213.  * Parameters:
  214.  *  pmk             LPMONIKER specifying the new link source.
  215.  *
  216.  * Return Value:
  217.  *  None
  218.  */
  219.  
  220. STDMETHODIMP_(void) CImpIAdviseSink2::OnLinkSrcChange(LPMONIKER pmk)
  221.     {
  222.     return;
  223.     }
  224.