70 out of 91 rated this helpful Rate this topic

IUnknown interface

Enables clients to get pointers to other interfaces on a given object through the QueryInterface method, and manage the existence of the object through the AddRef and Release methods. All other COM interfaces are inherited, directly or indirectly, from IUnknown. Therefore, the three methods in IUnknown are the first entries in the VTable for every interface.

When to implement

You must implement IUnknown as part of every interface. If you are using C++ multiple inheritance to implement multiple interfaces, the various interfaces can share one implementation of IUnknown. If you are using nested classes to implement multiple interfaces, you must implement IUnknown once for each interface you implement.

When to use

Use IUnknown methods to switch between interfaces on an object, add references, and release objects.

Methods

The IUnknown interface has the following methods.

MethodDescription
AddRef

Increments the reference count for an interface on an object.

QueryInterface

Retrieves pointers to the supported interfaces on an object.

Release

Decrements the reference count for an interface on an object.

 

Requirements

Minimum supported client

Windows 2000 Professional

Minimum supported server

Windows 2000 Server

Header

Unknwn.h

IDL

Unknwn.idl

IID

IID_IUnknown is defined as 00000000-0000-0000-C000-000000000046

See also

Using and Implementing IUnknown

 

 

Send comments about this topic to Microsoft

Build date: 9/8/2011

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
california1
thank you