home *** CD-ROM | disk | FTP | other *** search
- /*
- * VwObj.cpp
- * $Header: /bcsample/IFACEDLL/VWOBJ.CPP 1 5/28/96 1:12p Dave $
- *
- * Description:
- * This file provides the test-implementation of the IViewObject interface.
- *
- * Notes:
- * <implementation notes go here>
- *
- ***********************************************************************
- *
- * NuMega Technologies, Inc.
- * P.O. Box 7780
- * Nashua, NH 03060
- *
- * (c) Copyright 1994, 1995, 1996 NuMega Technologies, Inc.
- * ALL RIGHTS RESERVED.
- *
- ***********************************************************************
- *
- **********************************************************************/
-
- #include "IFT_OLE.h"
- // Replace this include with yours.
- #include "VwObj.h"
-
- CIViewObject :: CIViewObject ( LPUNKNOWN pUnkOuter , PCIUnknown pMainIUnk )
- {
- m_cRef = 0 ;
- m_pUnkOuter = pUnkOuter ;
- m_pBaseUnk = pMainIUnk ;
- }
-
- CIViewObject :: ~CIViewObject ( void )
- {
- }
-
- BOOL CIViewObject :: Init ( void )
- {
- return ( TRUE ) ;
- }
-
- STDMETHODIMP_( ULONG ) CIViewObject :: AddRef ( void )
- {
- return ( m_pBaseUnk->AddRef( ) ) ;
- }
-
- STDMETHODIMP_( ULONG ) CIViewObject :: Release ( void )
- {
- return ( m_pBaseUnk->Release( ) ) ;
- }
-
- STDMETHODIMP CIViewObject :: QueryInterface ( REFIID riid ,
- PPVOID ppv )
- {
- *ppv = NULL ;
-
- if ( IID_IViewObject == riid )
- {
- *ppv = ( IViewObject* ) this ;
- ( ( LPUNKNOWN ) *ppv )->AddRef ( ) ;
- return ( NOERROR ) ;
- }
- else
- {
- // We just defer any other calls to the base IUnknown.
- return ( m_pBaseUnk->QueryInterface ( riid , ppv ) ) ;
- }
- }
-
- STDMETHODIMP CIViewObject :: InternalQueryInterface ( REFIID riid ,
- PPVOID ppv )
- {
- // Always set the interface memory location to NULL.
- *ppv = NULL ;
-
- // If this ID is ours, then return ourselves.
- if ( IID_IViewObject == riid )
- {
- *ppv = ( IViewObject* ) this ;
- return ( NOERROR ) ;
- }
- return ( E_NOINTERFACE ) ;
- }
-
-
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Place all interface functions here!!
-
- HRESULT __stdcall CIViewObject :: Draw (
- DWORD dwDrawAspect ,
- LONG lindex ,
- void __RPC_FAR *pvAspect ,
- DVTARGETDEVICE __RPC_FAR *ptd ,
- HDC hdcTargetDev ,
- HDC hdcDraw ,
- LPCRECTL lprcBounds ,
- LPCRECTL lprcWBounds ,
- BOOL ( __stdcall __stdcall __RPC_FAR *pfnContinue )( DWORD dwContinue) ,
- DWORD dwContinue )
- {
- return ( S_OK ) ;
- }
-
- HRESULT __stdcall CIViewObject :: GetColorSet(
- DWORD dwDrawAspect ,
- LONG lindex ,
- void __RPC_FAR *pvAspect ,
- DVTARGETDEVICE __RPC_FAR *ptd ,
- HDC hicTargetDev ,
- LOGPALETTE __RPC_FAR *__RPC_FAR *ppColorSet )
- {
- return ( S_OK ) ;
- }
-
- HRESULT __stdcall CIViewObject :: Freeze (
- DWORD dwDrawAspect ,
- LONG lindex ,
- void __RPC_FAR *pvAspect ,
- DWORD __RPC_FAR *pdwFreeze )
- {
- return ( S_OK ) ;
- }
-
- HRESULT __stdcall CIViewObject :: Unfreeze ( DWORD dwFreeze )
- {
- return ( S_OK ) ;
- }
-
- HRESULT __stdcall CIViewObject :: SetAdvise( DWORD aspects ,
- DWORD advf ,
- IAdviseSink __RPC_FAR *pAdvSink )
- {
- return ( S_OK ) ;
- }
-
- HRESULT __stdcall CIViewObject :: GetAdvise(
- DWORD __RPC_FAR *pAspects ,
- DWORD __RPC_FAR *pAdvf ,
- IAdviseSink __RPC_FAR *__RPC_FAR *ppAdvSink )
- {
- return ( S_OK ) ;
- }
-