www.pudn.com > COM技术内幕配书源码.rar > CMPNT1.H
//
// Cmpnt1.h - Component 1
//
#include "Iface.h"
#include "CUnknown.h" // Base class for IUnknown
///////////////////////////////////////////////////////////
//
// Component A
//
class CA : public CUnknown,
public IX
{
public:
// Creation
static HRESULT CreateInstance(IUnknown* pUnknownOuter,
CUnknown** ppNewComponent) ;
private:
// Declare the delegating IUnknown.
DECLARE_IUNKNOWN
// Nondelegating IUnknown
virtual HRESULT __stdcall
NondelegatingQueryInterface( const IID& iid, void** ppv) ;
// Interface IX
virtual void __stdcall Fx() ;
// Initialization
virtual HRESULT Init() ;
// Cleanup
virtual void FinalRelease() ;
// Constructor
CA(IUnknown* pUnknownOuter) ;
// Destructor
~CA() ;
// Pointer to inner object being aggregated
IUnknown* m_pUnknownInner ;
// Pointer to IZ interface supported by inner component
IZ* m_pIZ ;
} ;