Logo Search packages:      
Sourcecode: camlidl version File versions  Download package

CMPNT.H

//
// Cmpnt.cpp - Component
//

#include "Iface.h"
#include "CUnknown.h" 

///////////////////////////////////////////////////////////
//
// Component A
//
class CA : public CUnknown,
           public IX,
           public ISupportErrorInfo
{
public:     
      // Creation
      static HRESULT CreateInstance(IUnknown* pUnknownOuter,
                                    CUnknown** ppNewComponent ) ;

private:
      // Declare the delegating IUnknown.
      DECLARE_IUNKNOWN

      // IUnknown
      virtual HRESULT __stdcall NondelegatingQueryInterface(const IID& iid,
                                                            void** ppv) ;

      // IDispatch
      virtual HRESULT __stdcall GetTypeInfoCount(UINT* pCountTypeInfo) ;

      virtual HRESULT __stdcall GetTypeInfo(
            UINT iTypeInfo,
            LCID,              // Localization is not supported.
            ITypeInfo** ppITypeInfo) ;
      
      virtual HRESULT __stdcall GetIDsOfNames(
            const IID& iid,
            OLECHAR** arrayNames,
            UINT countNames,
            LCID,              // Localization is not supported.
            DISPID* arrayDispIDs) ;

      virtual HRESULT __stdcall Invoke(   
            DISPID dispidMember,
            const IID& iid,
            LCID,              // Localization is not supported.
            WORD wFlags,
            DISPPARAMS* pDispParams,
            VARIANT* pvarResult,
            EXCEPINFO* pExcepInfo,
            UINT* pArgErr) ;

      // Interface IX
      virtual HRESULT  __stdcall Fx() ;
      virtual HRESULT __stdcall FxStringIn(BSTR bstrIn) ; 
      virtual HRESULT __stdcall FxStringOut(BSTR* pbstrOut) ;
      virtual HRESULT __stdcall FxFakeError() ;

      // ISupportErrorInfo
      virtual HRESULT __stdcall InterfaceSupportsErrorInfo(const IID& riid)
      {
            return (riid == IID_IX) ? S_OK : S_FALSE ;
      }

      // Initialization
      virtual HRESULT Init() ;

      // Constructor
      CA(IUnknown* pUnknownOuter) ;

      // Destructor
      ~CA() ;

      // Pointer to type information.
      ITypeInfo* m_pITypeInfo ;
} ;

Generated by  Doxygen 1.6.0   Back to index