Hardware Dev Center

Collapse the table of content
Expand the table of content
Expand Minimize
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

IUnknown::AddRef method

Increments the reference count for an interface on an object. This method should be called for every new copy of a pointer to an interface on an object.


ULONG AddRef();


This method has no parameters.

Return value

The method returns the new reference count. This value is intended to be used only for test purposes.


Objects use a reference counting mechanism to ensure that the lifetime of the object includes the lifetime of references to it. You use AddRef to stabilize a copy of an interface pointer. It can also be called when the life of a cloned pointer must extend beyond the lifetime of the original pointer. The cloned pointer must be released by calling IUnknown::Release.

The internal reference counter that AddRef maintains should be a 32-bit unsigned integer.

Notes to Callers

Call this method for every new copy of an interface pointer that you make. For example, if you are passing a copy of a pointer back from a method, you must call AddRef on that pointer. You must also call AddRef on a pointer before passing it as an in-out parameter to a method; the method will call IUnknown::Release before copying the out-value on top of it.


Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]






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

See also




Community Additions

© 2015 Microsoft