RAD Studio
ContentsIndex
PreviousUpNext
The Fundamental COM Interface, IUnknown

All COM objects must support the fundamental interface, called IUnknown, a typedefto the base interface type IInterface. IUnknown contains the following routines:

QueryInterface  
Provides pointers to other interfaces that the object supports.  
AddRef and Release  
Simple reference counting methods that keep track of the object's lifetime so that an object can delete itself when the client no longer needs its service.  

Clients obtain pointers to other interfaces through the IUnknown method, QueryInterface. QueryInterface knows about every interface in the server object and can give a client a pointer to the requested interface. When receiving a pointer to an interface, the client is assured that it can call any method of the interface. 

Objects track their own lifetime through the IUnknown methods, AddRef and Release, which are simple reference counting methods. As long as an object's reference count is nonzero, the object remains in memory. Once the reference count reaches zero, the interface implementation can safely dispose of the underlying object(s).

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!