Fovia's C++ Server API
Public Member Functions | List of all members
IRoot Struct Referenceabstract
Inheritance diagram for IRoot:
IAllocator IHdrcServer IHdrcSession ILibrary ILibraryLogger

Public Member Functions

virtual signed int AskInterface (const BGUID *piid, IRoot **ppr)=0
 
template<class T >
signed int AskInterface (T **pp)
 
virtual signed int DecRef ()=0
 
virtual signed int IncRef ()=0
 

Detailed Description

Root interface for all interfaces.

Member Function Documentation

virtual signed int IRoot::AskInterface ( const BGUID piid,
IRoot **  ppr 
)
pure virtual

Queries this object to see if the interface piid is supported and returns the result in ppr.

Parameters
piidThe BGUID of the requested interface.
pprThe address of an IRoot pointer which will receive the new interface.
Returns
S_OK if the interface is supported. E_FAIL if it is not.

Implemented in IHdrcSession, IHdrcServer, ILibrary, ILibraryLogger, and IAllocator.

Referenced by CBComPtr< T >::IsEqualObject().

template<class T >
signed int IRoot::AskInterface ( T **  pp)
inline

Function template for the above

virtual signed int IRoot::DecRef ( )
pure virtual

Decreases the reference count on this object by 1. If the reference count reaches 0, the object is deallocated.

Implemented in IHdrcSession, IHdrcServer, ILibrary, ILibraryLogger, and IAllocator.

Referenced by CBComPtr< T >::DecRef().

virtual signed int IRoot::IncRef ( )
pure virtual

Increases the reference count on this object by 1. You do not need to call this after an object is first created. It is 1 by default.

Implemented in IHdrcSession, IHdrcServer, ILibrary, ILibraryLogger, and IAllocator.