ICallFrame interface (callobj.h)

Enables manipulation of call frames such as stack frames. The call frame is the body of information that a procedure must save to allow it to properly return to its caller. A call frame may exist on the stack or in registers. A stack frame maintains its caller's context information on the stack.

An instance of the ICallFrame interface can perform various transformations on a call frame. The call can be marshaled or persisted. The instance of this interface is bound and has an associated method number.

Inheritance

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

Methods

The ICallFrame interface has these methods.

 
ICallFrame::Copy

Creates a copy of this call frame and all of its associated data.
ICallFrame::Free

Frees the frame copy to avoid a memory leak.
ICallFrame::FreeParam

Frees the specified parameter in the frame.
ICallFrame::GetIIDAndMethod

Retrieves the interface ID or the method number.
ICallFrame::GetInfo

Retrieves information about the call frame.
ICallFrame::GetMarshalSizeMax

Retrieves an upper bound on the number of bytes needed to marshal the call frame.
ICallFrame::GetNames

Retrieves the method or interface name of this call.
ICallFrame::GetParam

Retrieves the value of a specified parameter in the call frame.
ICallFrame::GetParamInfo

Retrieves the information for the specified parameter.
ICallFrame::GetReturnValue

Retrieves the return value stored in the call frame.
ICallFrame::GetStackLocation

Retrieves the stack location onto which this call frame is bound.
ICallFrame::Invoke

Applies this activation record to an object. In a marshalling situation, typically this is carried out on the server side, and is the means by which the work of the actual object is accomplished.
ICallFrame::Marshal

Marshals the call frame by turning its reachable data into a flat buffer without disturbing the frame.
ICallFrame::ReleaseMarshalData

Releases resources that are held by interface pointers residing in a packet of marshaled data. This method finds all interface pointers in the packet, and calls the CoReleaseMarshalData function on each one.
ICallFrame::SetParam

Sets the value of a specified parameter in the call frame.
ICallFrame::SetReturnValue

Sets the return value within the call frame.
ICallFrame::SetStackLocation

Sets the stack location onto which this call frame is bound.
ICallFrame::Unmarshal

Unmarshals a packet of data containing the previously marshaled [out] parameters of a call into this already existing activation record.
ICallFrame::WalkFrame

Searches for interface pointers that are reachable from [in], [in, out], or [out] parameters of the frame.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header callobj.h