Compartilhar via


IConnectionPointContainer::EnumConnectionPoints (Compact 2013)

3/26/2014

This method creates an enumerator object to iterate through all the connection points supported in the connectable object, one connection point per outgoing IID.

Syntax

HRESULT EnumConnectionPoints(
  IEnumConnectionPoints** ppEnum 
);

Parameters

  • ppEnum
    [out] Address of IEnumConnectionPoints* pointer variable that receives the interface pointer to the newly created enumerator.

Return Value

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

  • S_OK
    The enumerator was created.
  • E_POINTER
    The value in ppEnum is not valid. For example, it can be NULL.

Remarks

Because IEnumConnectionPoints enumerates pointers to IConnectionPoint, the caller must use IConnectionPoint::GetConnectionInterface to determine the interface identifier of the outgoing interface that the connection point supports.

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

Notes to Callers

The caller is responsible for releasing the enumerator by calling (*ppEnum)->Release when it is no longer needed.

Notes to Implementers

Returning E_NOTIMPL is specifically disallowed because, with the exception of type information, there would be no other means through which a caller could find the IIDs of the outgoing interfaces.

Because a connectable object typically has a fixed set of known outgoing interfaces, it is straightforward to implement the enumerator on top of a fixed length array of IIDs known at compile time.

Requirements

Header

ocidl.h,
ocidl.idl

Library

ole32.lib,
uuid.lib

See Also

Reference

IConnectionPointContainer
IEnumConnectionPoints