Share via


IExternalConnection::ReleaseConnection (Compact 2013)

3/26/2014

This method decrements an object's count of its strong external connections (references).

Syntax

HRESULT ReleaseConnection(
  DWORD extconn,
  DWORD dwreserved,
  BOOL fLastReleaseCloses 
);

Parameters

  • extconn
    [in] Type of external connection to the object.

    The only type of external connection supported by this interface is strong, which means that the object must remain alive as long as this external connection exists.

    Strong external connections are represented by the value EXTCONN_STRONG = 0x0001, which is defined in the enumeration EXTCONN.

  • dwreserved
    [in] Passes information about the connection.

    This parameter is reserved for use by OLE.

    Its value can be zero, but not necessarily. Therefore, implementations of ReleaseConnection should not contain blocks of code whose execution depends on whether a zero value is returned.

  • fLastReleaseCloses
    [in] TRUE specifies that if the connection being released is the last external lock on the object, the object should close.

    FALSE specifies that the object should remain open until closed by the user or another process.

Return Value

  • DWORD value
    The number of connections to the object; used for debugging purposes only.

Remarks

If fLastReleaseCloses equals TRUE, calling ReleaseConnection causes the object to shut itself down.

Calling this method is the only way in which a DLL object, running in the same process space as the container application, will know when to close following a silent update.

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Requirements

Header

objidl.h,
objidl.idl

Library

ole32.lib,
uuid.lib

See Also

Reference

IExternalConnection
IExternalConnection::AddConnection