Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Collapse the table of content
Expand the table of content


This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Provides an alternative way to invoke the OLE method IUnknown::Release.

Header file:


Implemented by:


Called by:

Client applications and service providers

ULONG UlRelease(
  LPVOID punk


[in] Pointer to an interface derived from the IUnknown interface, in other words any MAPI interface.


The call succeeded and has returned the expected value or values.


An error of unexpected or unknown origin prevented the operation from completing.

The reference count is the number of existing pointers to the object to be released.

If the punk parameter is NULL, the function returns immediately without calling IUnknown::Release

UlRelease returns the value returned by the IUnknown::Release method, which can be equal to the reference count for the object to be released.

For more information about IUnknown::Release, see Implementing the IUnknown Interface.

© 2015 Microsoft