Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

ICallIndirect interface

Invokes an object with an indirect reference to the invocations arguments, rather than the traditional direct call. An instance of ICallIndirect supports indirect invocations for only one interface ID.

Members

The ICallIndirect interface inherits from the IUnknown interface. ICallIndirect also has these types of members:

Methods

The ICallIndirect interface has these methods.

MethodDescription
CallIndirect

Invokes one of the methods in the interface with an indirect reference to the arguments of the invocation.

GetIID

Retrieves the interface id supported by this ICallIndirect implementation.

GetMethodInfo

Retrieves information about the interface method from the call frame.

GetStackSize

Retrieves the number of bytes that should be popped from the stack in order to return from an invocation of the method.

 

Remarks

The actual detailed semantics of how to carry out an indirect call are independent of the ICallIndirect interface itself; they are instead specific to the implementation of the interface. For example, implementations of ICallIndirect found in call interceptors carry out the call by constructing and appropriate ICallFrame instance and then invoking ICallFrameEvents::OnCall in the registered sink. Other implementations might do some appropriate munging of the invocations arguments, then forward the call on to some actual specific object, presumably one previously registered with the ICallIndirect using some implementation-specific means.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Callobj.h

IDL

Callobj.idl

IID

IID_ICallIndirect is defined as D573B4B1-894E-11d2-B8B6-00C04FB9618A

See also

ICallInterceptor

 

 

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.