IConnectionPointContainer::EnumConnectionPoints
Creates an
enumerator object to iterate through all the connection points supported in the
connectable object, one connection point per outgoing IID.
HRESULT
EnumConnectionPoints(
IEnumConnectionPoints **ppEnum |
//Indirect pointer to the newly created enumerator |
); |
|
Parameters
ppEnum
[out]
Indirect pointer to the IEnumConnectionPoints2MCWRR5 interface on the newly created
enumerator.
Return Values
This method
supports the standard return values E_OUTOFMEMORY and E_UNEXPECTED, as well as
the following:
S_OK
The
enumerator was successfully created.
E_POINTER
The value in ppEnum
is not valid. For example, it may be NULL.
Remarks
Since IEnumConnectionPoints
enumerates pointers to IConnectionPoint, the caller must use IConnectionPoint::GetConnectionInterface
to determine the interface identifer of the outgoing interface that the
connection point supports.
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. Since 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.
See Also