Home COM GDI+ WebBrowser Data Access

IMultiQI Interface

 

IID_IMultiQI

{00000020-0000-0000-C000-000000000046}

 

 

The IMultiQI interface enables a client to query an object proxy, or handler, for multiple interfaces by using a single RPC call. By using this interface, instead of relying on separate calls to IUnknown::QueryInterface, clients can reduce the number of RPC calls that have to cross thread, process, or machine boundaries and, therefore, the amount of time required to obtain the requested interface pointers.

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IMultiQI Method

Description

QueryMultipleInterfaces

Queries for multiple interfaces.

 

QueryMultipleInterfaces

 

FUNCTION IMultiQI_QueryMultipleInterfaces ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL cMQIs AS DWORD _

, BYVAL pMQIs AS DWORD _

  ) AS LONG
 

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[3] USING IMultiQI_QueryMultipleInterfaces (pthis, cMQIs, pMQIs) TO HRESULT
  FUNCTION = HRESULT


END FUNCTION

 

 

 

FUNCTION IMultiQI_QueryMultipleInterfaces ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL cMQIs AS DWORD _

, BYVAL pMQIs AS DWORD _

  ) AS LONG
 

  ! push pMQIs

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


END FUNCTION

 

 

Page last updated on Thursday, 16 March 2006 06:16:29 +0100