template< class Base >
class CComObjectNoLock : public Base
Parameters
Base A class that derives from CComObjectRoot or CComObjectRootEx, as well as from any other interface you want to support on the object.
CComObjectNoLock is similar to CComObject in that it implements IUnknown for a non-aggregated object; however, CComObjectNoLock does not increment the module lock count in the constructor.
ATL uses CComObjectNoLock internally for class factories. In general, you will not use this class directly.
#include <atlcom.h>
Class Methods | |
CComObjectNoLock | Constructor. |
IUnknown Methods | |
AddRef | Increments the reference count on the object. |
QueryInterface | Returns a pointer to the requested interface. |
Release | Decrements the reference count on the object. |
ULONG AddRef( );
Return Value
A value that may be useful for diagnostics or testing.
Remarks
Increments the reference count on the object.
CComObjectNoLock Overview | Class Members
See Also CComObjectNoLock::Release
CComObjectNoLock( void* = NULL );
Parameters
void* [in] This unnamed parameter is not used. It exists for symmetry with other CComXXXObjectXXX constructors.
Remarks
The constructor. Unlike CComObject, does not lock the server module in memory.
CComObjectNoLock Overview | Class Members
HRESULT QueryInterface( REFIID iid, void** ppvObject );
Return Value
A standard HRESULT value.
Parameters
iid [in] The identifier of the interface being requested.
ppvObject [out] A pointer to the interface pointer identified by iid. If the object does not support this interface, ppvObject is set to NULL.
Remarks
Retrieves a pointer to the requested interface.
CComObjectNoLock Overview | Class Members
ULONG Release( );
Return Value
In debug builds, Release returns a value that may be useful for diagnostics or testing. In non-debug builds, Release always returns 0.
Remarks
Decrements the reference count on the object.
CComObjectNoLock Overview | Class Members
See Also CComObjectNoLock::AddRef