Qt 4.8
Public Functions | Properties | List of all members
QAxServerAggregate Class Reference
Inheritance diagram for QAxServerAggregate:

Public Functions

unsigned long WINAPI AddRef ()
 
 QAxServerAggregate (const QString &className, IUnknown *outerUnknown)
 
HRESULT WINAPI QueryInterface (REFIID iid, void **iface)
 
unsigned long WINAPI Release ()
 
 ~QAxServerAggregate ()
 

Properties

CRITICAL_SECTION createWindowSection
 
IUnknown * m_outerUnknown
 
QAxServerBaseobject
 
unsigned long ref
 
CRITICAL_SECTION refCountSection
 

Detailed Description

Definition at line 415 of file qaxserverbase.cpp.

Constructors and Destructors

◆ QAxServerAggregate()

QAxServerAggregate::QAxServerAggregate ( const QString className,
IUnknown *  outerUnknown 
)
inline

Definition at line 418 of file qaxserverbase.cpp.

419  : m_outerUnknown(outerUnknown), ref(0)
420  {
421  object = new QAxServerBase(className, outerUnknown);
422  object->registerActiveObject(this);
423 
424  InitializeCriticalSection(&refCountSection);
425  InitializeCriticalSection(&createWindowSection);
426  }
CRITICAL_SECTION createWindowSection
CRITICAL_SECTION refCountSection
IUnknown * m_outerUnknown

◆ ~QAxServerAggregate()

QAxServerAggregate::~QAxServerAggregate ( )
inline

Definition at line 427 of file qaxserverbase.cpp.

428  {
429  DeleteCriticalSection(&refCountSection);
430  DeleteCriticalSection(&createWindowSection);
431 
432  delete object;
433  }
CRITICAL_SECTION createWindowSection
CRITICAL_SECTION refCountSection
QAxServerBase * object

Functions

◆ AddRef()

unsigned long WINAPI QAxServerAggregate::AddRef ( )
inline

Definition at line 436 of file qaxserverbase.cpp.

437  {
438  EnterCriticalSection(&refCountSection);
439  unsigned long r = ++ref;
440  LeaveCriticalSection(&refCountSection);
441 
442  return r;
443  }
CRITICAL_SECTION refCountSection

◆ QueryInterface()

HRESULT WINAPI QAxServerAggregate::QueryInterface ( REFIID  iid,
void **  iface 
)
inline

Definition at line 456 of file qaxserverbase.cpp.

Referenced by QClassFactory::CreateInstanceHelper().

457  {
458  *iface = 0;
459 
460  HRESULT res = E_NOINTERFACE;
461  if (iid == IID_IUnknown) {
462  *iface = (IUnknown*)this;
463  AddRef();
464  return S_OK;
465  }
466  return object->InternalQueryInterface(iid, iface);
467  }
long HRESULT
unsigned long WINAPI AddRef()

◆ Release()

unsigned long WINAPI QAxServerAggregate::Release ( )
inline

Definition at line 444 of file qaxserverbase.cpp.

445  {
446  EnterCriticalSection(&refCountSection);
447  unsigned long r = --ref;
448  LeaveCriticalSection(&refCountSection);
449 
450  if (!r) {
451  delete this;
452  return 0;
453  }
454  return r;
455  }
CRITICAL_SECTION refCountSection

Properties

◆ createWindowSection

CRITICAL_SECTION QAxServerAggregate::createWindowSection
private

Definition at line 475 of file qaxserverbase.cpp.

◆ m_outerUnknown

IUnknown* QAxServerAggregate::m_outerUnknown
private

Definition at line 471 of file qaxserverbase.cpp.

◆ object

QAxServerBase* QAxServerAggregate::object
private

Definition at line 470 of file qaxserverbase.cpp.

◆ ref

unsigned long QAxServerAggregate::ref
private

Definition at line 472 of file qaxserverbase.cpp.

◆ refCountSection

CRITICAL_SECTION QAxServerAggregate::refCountSection
private

Definition at line 474 of file qaxserverbase.cpp.


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