#define P6_IMPLEMENT_ICOM1 ( classname,
interface1   ) 
Value:
P6R::P6ERR classname::queryInterface(const P6R::IID &iid, P6R::P6VOID** ppv)      \
{                                                                          \
   if(!ppv)                                                                \
      return P6R::eAccessFault;                                            \
   *ppv = NULL;                                                            \
   if(iid == IID_p6ICom)            *ppv = static_cast<interface1*>(this); \
   else if(iid == IID_##interface1) *ppv = static_cast<interface1*>(this); \
   else                             return P6R::eNoInterface;              \
   reinterpret_cast<p6ICom*>(*ppv)->addref();                                \
   return P6R::eOk;                                                        \
}                                                                          \
P6_IMPLEMENT_THREADSAFE_ADDREF(classname)                                  \
P6_IMPLEMENT_THREADSAFE_RELEASE(classname)                                 \
P6_IMPLEMENT_CREATEINSTANCE_NO_AGG(classname)

Definition at line 82 of file p6comhlpr.h.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Copyright © 2004 - 2010 P6R Inc. - All Rights Reserved.