CompA.H
上传用户:biuytresa
上传日期:2007-12-07
资源大小:721k
文件大小:1k
源码类别:

DNA

开发平台:

Visual C++

  1. #ifndef __CompA_H__
  2. #define __CompA_H__
  3. #ifndef __ISomeInterface_H__
  4. #include "SomeIFace.h"
  5. #endif
  6. class INondelegatingUnknown
  7. {
  8. public:
  9. virtual HRESULT  __stdcall  NondelegationQueryInterface(const IID& iid, void **ppv) = 0 ;
  10. virtual ULONG  __stdcall  NondelegatingAddRef() = 0; 
  11. virtual ULONG  __stdcall  NondelegationRelease() = 0;
  12. };
  13. class CA : public ISomeInterface, public INondelegatingUnknown
  14. {
  15. protected:
  16.      ULONG           m_Ref;
  17. public:
  18.      CA(IUnknown *pUnknownOuter);
  19.      ~CA();
  20. public :
  21. // Delegating IUnknown
  22. virtual HRESULT   __stdcall  QueryInterface(const IID& iid, void **ppv) ;
  23. virtual ULONG   __stdcall  AddRef() ; 
  24. virtual ULONG   __stdcall  Release() ;
  25. // Nondelegating IUnknown
  26. virtual HRESULT   __stdcall  NondelegationQueryInterface(const IID& iid, void **ppv);
  27. virtual ULONG   __stdcall  NondelegatingAddRef();
  28. virtual ULONG   __stdcall  NondelegationRelease();
  29. virtual HRESULT __stdcall SomeFunction( ) ;
  30. private :
  31. IUnknown  *m_pUnknownOuter;  // pointer to outer IUnknown
  32. };
  33. #endif __CompA_H__