Home COM GDI+ WebBrowser Data Access

IEnumConnections Interface

 

IID_IEnumConnections

{B196B287-BAB4-101A-B69C-00AA00341D07}

 

 

This interface enumerates the current connections for a connectable object. Connectable objects support the following features:

  • Outgoing interfaces, such as event sets

  • The ability to enumerate the IIDs of the outgoing interfaces

  • The ability to connect and disconnect sinks to the object for those outgoing IIDs

  • The ability to enumerate the connections that exist to a particular outgoing interface

Use the IEnumConnectionPoints interface to enumerate all the supported connection points for each outgoing IID.

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IEnumConnections Methods

Description

Next

Retrieves a specified number of items in the enumeration sequence.

Skip

Skips over a specified number of items in the enumeration sequence.

Reset

Resets the enumeration sequence to the beginning.

Clone

Creates another enumerator that contains the same enumeration state as the current one.

 

CONNECTDATA Structure

 

Describes a connection that exists to a given connection point. The CONNECTDATA structure is the type enumerated through the Next method.

 

TYPE CONNECTDATA
   pUnk AS DWORD
   dwCookie AS DWORD
END TYPE

 

 

Next

 

FUNCTION IEnumConnections_Next ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL cConnections AS DWORD _

, BYVAL rgpcd AS DWORD _

, BYREF pcFetched AS DWORD _

  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[3] USING IEnumConnections_Next (pthis, cConnections, rgpcd, pcFetched) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

 

FUNCTION IEnumConnections_Next ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL cConnections AS DWORD _

, BYVAL rgpcd AS DWORD _

, BYREF pcFetched AS DWORD _

  ) AS LONG

  ! push pcFetched
  ! push rgpcd

  ! pysh cConnections
  ! push celt
  ! mov  eax, pthis
  ! push eax
  ! mov  eax, dword ptr[eax]
  ! call dword ptr[eax+12]
  ! mov  FUNCTION, eax


END FUNCTION

 

 

Skip

 

FUNCTION IEnumConnections_Skip ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL cConnections AS DWORD _

  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[4] USING IEnumConnections_Skip (pthis, cConnections) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

 

FUNCTION IEnumConnections_Skip ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL cConnections AS DWORD _

  ) AS LONG

  ! push cConnections
  ! mov  eax, pthis
  ! push eax
  ! mov  eax, dword ptr[eax]
  ! call dword ptr[eax+16]
  ! mov  FUNCTION, eax


END FUNCTION

 

 

Reset

 

FUNCTION IEnumConnections_Reset ( _

  BYVAL pthis AS DWORD PTR _

  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[5] USING IEnumConnections_Reset (pthis) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

 

FUNCTION IEnumConnections_Reset ( _

  BYVAL pthis AS DWORD PTR _

  ) AS LONG

  ! mov  eax, pthis
  ! push eax
  ! mov  eax, dword ptr[eax]
  ! call dword ptr[eax+20]
  ! mov  FUNCTION, eax


END FUNCTION

 

 

Clone

 

FUNCTION IEnumConnections_Clone ( _

  BYVAL pthis AS DWORD PTR _

, BYREF ppenum AS DWORD _

  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[6] USING IEnumConnections_Clone (pthis, ppenum) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

 

FUNCTION IEnumConnections_Clone ( _

  BYVAL pthis AS DWORD PTR _

, BYREF ppenum AS DWORD _

  ) AS LONG

  ! push ppenum
  ! mov  eax, pthis
  ! push eax
  ! mov  eax, dword ptr[eax]
  ! call dword ptr[eax+24]
  ! mov  FUNCTION, eax


END FUNCTION

 

 

Page last updated on Monday, 03 April 2006 20:24:14 +0200