home *** CD-ROM | disk | FTP | other *** search
- /*
- * IUnknown.h
- * $Header: /bcsample/IFACEDLL/IUNKNOWN.H 1 5/28/96 1:12p Dave $
- *
- * Description:
- * The base declartion of the IUnknown interface implementation class.
- *
- * 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.
- *
- ***********************************************************************
- *
- **********************************************************************/
-
- /*----------------------------------------------------------------------
- DISCUSSION :
- The base IUnknown implementation for the project.
- ----------------------------------------------------------------------*/
- #ifndef _IUNKNOWN_H
- #define _IUNKNOWN_H
-
- #include "IQueryI.h"
-
-
- class CIUnknown : public IUnknown
- {
- protected :
- // Object reference count
- ULONG m_cRef ;
- // Controlling unknown
- LPUNKNOWN m_pUnkOuter ;
- // To call on closure
- PFNDESTROYED m_pfnDestroy ;
-
- // The table of interfaces we support
- PCInternalQuery m_pInterfaceTable[ 100 ] ;
-
- public :
- CIUnknown ( LPUNKNOWN pUnkOuter , PFNDESTROYED pfnDestroy ) ;
- ~CIUnknown ( void ) ;
-
- BOOL Init ( void ) ;
-
- //Non-delegating object IUnknown
- STDMETHODIMP QueryInterface ( REFIID , PPVOID ) ;
- STDMETHODIMP_( ULONG ) AddRef ( void ) ;
- STDMETHODIMP_( ULONG ) Release ( void ) ;
-
- } ;
-
- typedef CIUnknown * PCIUnknown ;
-
- #endif // _IUNKNOWN_H
-