IOleAdviseHolder::EnumAdvise  BVREA2

Creates an enumerator that can be used to enumerate the advisory connections currently established for an object, and supplies a pointer to its IEnumSTATDATAYCAP6P interface.

HRESULT EnumAdvise(

    IEnumSTATDATA ** ppenumAdvise

//Indirect pointer to the new enumerator

   );

 

 

Parameter

ppenumAdvise

[out] Indirect pointer to the IEnumSTATDATA interface on the new enumerator. A NULL value indicates that there are presently no advisory connections on the object, or that an error occured. The advise holder is responsible for incrementing the reference count on the IEnumSTATDATA pointer this method supplies. It is the caller s responsibility to call IUnknown::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 created successfully.

E_NOTIMPL

EnumAdvise is not implemented.

 

Remarks

IOleAdviseHolder::EnumAdvise creates an enumerator that can be used to enumerate an object s established advisory connections. The method supplies a pointer to the IEnumSTATDATAYCAP6P interface on this enumerator. Advisory connection information for each connection is stored in the STATDATA1MGEJJQ structure, and the enumerator must be able to enumerate these structures, defined as follows:

typedef struct tagSTATDATA { 

    FORMATETC         Formatetc;

    DWORD             grfAdvf;

    IAdviseSink *     pAdvise;

    DWORD             dwConnection;

    }STATDATA;

 

For this method, the only relevant structure members are pAdvise and dwConnection. Other members contain data advisory information. When you call the enumeration methods, and while an enumeration is in progress, the effect of registering or revoking advisory connections on what is to be enumerated is undefined.

See Also

IOleAdviseHolder::Advise, IOleAdviseHolder::UnAdvise, IOleObject::EnumAdvise, IDataAdviseHolder::EnumAdvise, STATDATA