FirteX-高性能全文索引和检索平台

API Documentation


首页 | 名字空间列表 | 类继承关系 | 组合类型列表 | $(BL\录(B | 文件列表 | 名字空间成员 | 组合类型成员 | 文件成员

ComObject.h文件参考

#include "../utility/StdHeader.h"
#include <stddef.h>
#include "../com/Com.h"

浏览该文件的源代码。

Namespaces

namespace  firtex
namespace  firtex::plugin

组合类型

class  firtex::plugin::CComObject
class  firtex::plugin::GUIDX

宏定义

#define FX_METHOD_PROLOGUE(theClass, localClass)
#define INTERFACE_TO_CLASS(icClass, icInterface, icIn, icOut)   icClass * icOut = (icClass *)( (byte*) icIn - offsetof( icClass, m_x##icInterface ) );
#define CLASS_TO_INTERFACE(icClass, icInterface, icIn, icOut)   X##icInterface* icOut = (X##icInterface*)( (byte*) icIn + offsetof( icClass, m_x##icInterface ) );
#define BEGIN_INTERFACE_PART(localClass, baseClass)
#define END_INTERFACE_PART(localClass)
#define IMPLEMENT_UNKNOWN(theClass, localClass)


宏定义文档

#define BEGIN_INTERFACE_PART localClass,
baseClass   ) 
 

值:

class X##localClass : public baseClass \
                { \
                public: \
                        FX_STDMETHOD(QueryInterface)(firtex::com::FX_REFIID riid, void __RPC_FAR *__RPC_FAR *ppvObject); \
                        FX_STDMETHOD_(uint32_t, AddRef)(); \
                        FX_STDMETHOD_(uint32_t, Release)(); \

#define CLASS_TO_INTERFACE icClass,
icInterface,
icIn,
icOut   )     X##icInterface* icOut = (X##icInterface*)( (byte*) icIn + offsetof( icClass, m_x##icInterface ) );
 

#define END_INTERFACE_PART localClass   ) 
 

值:

} m_x##localClass; \
                friend class X##localClass;\

#define FX_METHOD_PROLOGUE theClass,
localClass   ) 
 

值:

theClass* pThis = \
                ((theClass*)((byte*)this - offsetof(theClass, m_x##localClass))); \
                pThis;

#define IMPLEMENT_UNKNOWN theClass,
localClass   ) 
 

值:

FX_STDMETHODIMP_(uint32_t) theClass::X##localClass::AddRef()    \
                {                                                                                                                       \
                        FX_METHOD_PROLOGUE(theClass, localClass)                                        \
                        return pThis->AddRef();                                                                 \
                }                                                                                                                       \
                FX_STDMETHODIMP_(uint32_t) theClass::X##localClass::Release()   \
                {                                                                                                                       \
                        FX_METHOD_PROLOGUE(theClass, localClass)                                        \
                        return pThis->Release();                                                                \
                }                                                                                                                       \
                FX_STDMETHODIMP theClass::X##localClass::QueryInterface(firtex::com::FX_REFIID riid, void __RPC_FAR *__RPC_FAR *ppvObject)      \
                {                                                                                                                       \
                        FX_METHOD_PROLOGUE(theClass, localClass)                                        \
                        if ( firtex::com::FX_IsEqualIID( riid, firtex::com::IUnknown::iid ) )\
                        {                                                                                                               \
                                *ppvObject = static_cast<firtex::com::IUnknown*>(this); \
                                pThis->AddRef();                                                                        \
                                return FX_S_OK;                                                                         \
                        }                                                                                                               \
                        if ( firtex::com::FX_IsEqualIID( riid, X##localClass::iid ) ) \
                        {                                                                                                               \
                                *ppvObject = static_cast<X##localClass*>( this );               \
                                pThis->AddRef();                                                                        \
                                return FX_S_OK;                                                                         \
                        }                                                                                                               \
                        return FX_E_NOINTERFACE;                                                                        \
                }

#define INTERFACE_TO_CLASS icClass,
icInterface,
icIn,
icOut   )     icClass * icOut = (icClass *)( (byte*) icIn - offsetof( icClass, m_x##icInterface ) );
 


http://www.firtex.org http://www.sourceforge.net/projects/firtex