COM Library
Public Member Functions | Private Types | Private Member Functions | Private Attributes
COM::IDispatchImpl< T > Class Template Reference

The implementaion of IDispatch. More...

#include <IDispatchImpl.hpp>

List of all members.

Public Member Functions

 IDispatchImpl (const IID &oDIID)
 Full constructor.
virtual ~IDispatchImpl ()
 Destructor.
virtual HRESULT COMCALL GetTypeInfoCount (UINT *pnInfo)
 Get the number of type information interfaces supported.
virtual HRESULT COMCALL GetTypeInfo (UINT nInfo, LCID dwLCID, ITypeInfo **ppTypeInfo)
 Get the type information for an object.
virtual HRESULT COMCALL GetIDsOfNames (REFIID rIID, LPOLESTR *aszNames, UINT nNames, LCID dwLCID, DISPID *alMemberIDs)
 Map a number of names to their dispatch IDs.
virtual HRESULT COMCALL Invoke (DISPID lMemberID, REFIID rIID, LCID dwLCID, WORD wFlags, DISPPARAMS *pParams, VARIANT *pResult, EXCEPINFO *pExcepInfo, UINT *pnArgError)
 Invoke a method or access a property.

Private Types

typedef WCL::IFacePtr< ITypeLib > ITypeLibPtr
typedef WCL::IFacePtr< ITypeInfo > ITypeInfoPtr

Private Member Functions

void LoadTypeInfo ()
 Load the type information.

Private Attributes

IID m_oDIID
 The dual interface ID.
ITypeLibPtr m_pTypeLib
 The type library.
ITypeInfoPtr m_pTypeInfo
 The interface type information.

Detailed Description

template<typename T>
class COM::IDispatchImpl< T >

The implementaion of IDispatch.


Member Typedef Documentation

template<typename T >
typedef WCL::IFacePtr<ITypeLib> COM::IDispatchImpl< T >::ITypeLibPtr [private]
template<typename T >
typedef WCL::IFacePtr<ITypeInfo> COM::IDispatchImpl< T >::ITypeInfoPtr [private]

Constructor & Destructor Documentation

template<typename T >
COM::IDispatchImpl< T >::IDispatchImpl ( const IID &  oDIID)

Full constructor.

template<typename T >
COM::IDispatchImpl< T >::~IDispatchImpl ( ) [virtual]

Destructor.


Member Function Documentation

template<typename T >
HRESULT COMCALL COM::IDispatchImpl< T >::GetTypeInfoCount ( UINT *  pnInfo) [virtual]

Get the number of type information interfaces supported.

template<typename T >
HRESULT COMCALL COM::IDispatchImpl< T >::GetTypeInfo ( UINT  nInfo,
LCID  dwLCID,
ITypeInfo **  ppTypeInfo 
) [virtual]

Get the type information for an object.

template<typename T >
HRESULT COMCALL COM::IDispatchImpl< T >::GetIDsOfNames ( REFIID  rIID,
LPOLESTR *  aszNames,
UINT  nNames,
LCID  dwLCID,
DISPID *  alMemberIDs 
) [virtual]

Map a number of names to their dispatch IDs.

template<typename T >
HRESULT COMCALL COM::IDispatchImpl< T >::Invoke ( DISPID  lMemberID,
REFIID  rIID,
LCID  dwLCID,
WORD  wFlags,
DISPPARAMS *  pParams,
VARIANT *  pResult,
EXCEPINFO *  pExcepInfo,
UINT *  pnArgError 
) [virtual]

Invoke a method or access a property.

template<typename T >
void COM::IDispatchImpl< T >::LoadTypeInfo ( ) [private]

Load the type information.


Member Data Documentation

template<typename T >
IID COM::IDispatchImpl< T >::m_oDIID [private]

The dual interface ID.

template<typename T >
ITypeLibPtr COM::IDispatchImpl< T >::m_pTypeLib [private]

The type library.

template<typename T >
ITypeInfoPtr COM::IDispatchImpl< T >::m_pTypeInfo [private]

The interface type information.


The documentation for this class was generated from the following file: