Platform SDK: MAPI

UlRelease

The UlRelease function provides an alternative way to invoke the OLE method IUnknown::Release.

Note  This function may not be supported in future versions of MAPI.

Quick Info

Header file: MAPIUTIL.H
Implemented by: MAPI
Called by: Client applications and service providers

ULONG UlRelease(
  LPVOID punk  
);
 

Parameters

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

Return Values

S_OK
The call succeeded and has returned the expected value or values.
MAPI_E_CALL_FAILED
An error of unexpected or unknown origin prevented the operation from completing.

Remarks

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. This feature can save code if a client or provider declares an interface pointer and initializes it to NULL. Code is used in the method indication but saved in not testing for NULL.

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 on IUnknown::Release, see Implementing the IUnknown Interface.

See Also

IUnknown Functions