Compartilhar via


IOleObject::EnumAdvise (Compact 2013)

3/26/2014

This method retrieves a pointer to an enumerator that can be used to enumerate the advisory connections registered for an object, so a container knows what to release prior to closing down.

Syntax

HRESULT IEnumSTATDATA( 
  IEnumSTATDATA** ppenumAdvise
);

Parameters

  • ppenumAdvise
    [out] Address of IEnumSTATDATA* pointer variable that receives the interface pointer to the new enumerator.

    A NULL value for *ppenumAdvise indicates that there are no advisory connections on the object, or that an error occurred.

    The advise holder is responsible for incrementing the reference count on the IEnumSTATDATA pointer this method supplies. The caller is responsible to call IUnknown::Release when it is done with the pointer.

Return Value

This method supports the standard return value E_FAIL, as well as the values described in the following table.

Value

Description

S_OK

The enumerator is created.

E_NOTIMPL

EnumAdvise is not implemented.

Remarks

EnumAdvise creates an enumerator that can be used to enumerate an object's established advisory connections. The method supplies a pointer to the IEnumSTATDATA interface on this enumerator.

Advisory connection information for each connection is stored in the STATDATA 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.

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

Requirements

Header

Oleidl.h,
oleidl.idl

Library

oleaut32.lib,
uuid.lib

See Also

Tasks

Determine Supported COM APIs

Reference

IOleObject
IEnumSTATDATA
IUnknown::Release
STATDATA