IOleObject::EnumAdvise
Retrieves a
pointer to an enumerator that can be used to enumerate the advisory connections
registered for an object, so a container can know what to release prior to
closing down.
HRESULT EnumAdvise(
|
IEnumSTATDATA **ppenumAdvise |
//Indirect pointer to enumerator object |
|
); |
|
Parameter
ppenumAdvise
[out] When
there are existing advisory connections, indirect pointer to the location of
the IEnumSTATDATA
interface on the enumerator object. If the object does not have any advisory
connections, the value will be NULL. NULL will also be the value if the method
returns an error. Each time an object receives a successful call to EnumAdvise,
it must increase the reference count on the pointer it returns. It is the
caller s responsibility to call Release when it is done with the
pointer.
Return Values
This method
supports the standard return value E_FAIL, as well as the following:
S_OK
Enumerator
returned successfully.
E_NOTIMPL
EnumAdvise is not implemented.
Remarks
The EnumAdvise
method supplies an enumerator that provides a way for containers to keep track
of advisory connections registered for their objects. A container normally
would call this function so that it can instruct an object to release each of
its advisory connections prior to closing down.
The
enumerator to which you get access through IOleObject::EnumAdvise
enumerates items of type STATDATA. Upon receiving the pointer, the container can
then loop through STATDATA and call IOleObject::Unadvise for each
enumerated connection.
The usual way
to implement this function is to delegate the call to the IOleAdviseHolder
interface. Only the pAdvise and dwConnection members of STATDATA
are relevant for IOleObject::EnumAdvise.
See Also