# IConnectionPointContainer::FindConnectionPoint

Returns a pointer to the IConnectionPoint interface of a connection point for a specified IID, if that IID describes a supported outgoing interface.

HRESULT FindConnectionPoint(

REFIID riid , | //Requested connection point’s interface identifier
IConnectionPoint **ppCP | //Indirect pointer to the variable of the requested IID
); |

Parameters

riid
  [in] Interface identifier of the outgoing interface whose connection point object is being requested.
ppCP
  [out] Indirect pointer to the IConnectionPoint interface on the connection point that supports riid. This parameter is set to NULL on failure of the call.

Return Values

This method supports the standard return values E_OUTOFMEMORY and E_UNEXPECTED, as well as the following:

S_OK
  The ppCP pointer has a valid interface pointer.
E_POINTER
  The address in ppCP is not valid. For example, it may be NULL.
CONNECT_E_NOCONNECTION
  This connectable object does not support the outgoing interface specified by riid.

Remarks

This method is the QueryInterface equivalent for an object’s outgoing interfaces, where the outgoing interface is specified with riid and where the interface pointer returned is always that of a connection point.

#### Notes to Callers

If the call is successful, the caller is responsible for releasing the connection point by calling `(*ppCP)->Release` when the connection point is no longer needed.

#### Notes to Implementers

E_NOTIMPL is not allowed as a return value for this method. Any implementation of IConnectionPointContainer must implement this method for the connectable object’s outgoing interfaces.

See Also

IConnectionPoint