DkmILExecuteFunction Class

Definition

Pops the arguments off the IL stack in reverse order. Then, pops the address of the function off the eval stack. Next, executes the function in the debuggee process. (Prior to execution, the IL stream should push the function address first, then the arguments in forwards order). The return value for the function is copied to the IL Stack as a byte array.

public ref class DkmILExecuteFunction : Microsoft::VisualStudio::Debugger::Evaluation::IL::DkmILInstruction
[Windows::Foundation::Metadata::WebHostHidden]
public ref class DkmILExecuteFunction : Microsoft::VisualStudio::Debugger::Evaluation::IL::DkmILInstruction
[Windows::Foundation::Metadata::WebHostHidden]
class DkmILExecuteFunction : Microsoft::VisualStudio::Debugger::Evaluation::IL::DkmILInstruction
[System.Runtime.InteropServices.Guid("2d26c57a-7bf3-02dc-3bcb-a593bc8e5ca0")]
public class DkmILExecuteFunction : Microsoft.VisualStudio.Debugger.Evaluation.IL.DkmILInstruction
[<System.Runtime.InteropServices.Guid("2d26c57a-7bf3-02dc-3bcb-a593bc8e5ca0")>]
type DkmILExecuteFunction = class
    inherit DkmILInstruction
Public Class DkmILExecuteFunction
Inherits DkmILInstruction
Inheritance
DkmILExecuteFunction
Attributes

Properties

ArgumentCount

The number of arguments to pass to the intrinsic function. These arguments are popped off the IL stack.

ArgumentFlags

Flags affecting arguments to a function evaluation. There will be one argument flag for each argument.

CallingConvention

The calling convention of the function to be executed. Ignored on non-x86 processors that only have a single calling convention.

Flags

Flags affecting how a function evaluation should occur.

ReturnValueSize

The size of the return value in bytes. This dictates how the return address is found on some architectures. For instance, on x86, a 4 byte or less return value is returned in EAX. An 8 byte return value is returned in EDX:EAX, and for anything larger, a pointer is returned in EAX to an object on the heap, or for by value returns, to an object on the stack after the stack is cleaned up.

TagValue

DkmILInstruction is an abstract base class. This enum indicates which derived class this object is an instance of.

(Inherited from DkmILInstruction)
UniformComplexReturnElementSize

Used for the arm calling convention where a complex type containing all elements the same size are returned enregistered. This is only used if the EnregisteredComplexReturn flag in DkmILFunctionEvaluationFlags is set. This value should return the size of each element in the complex type. FloatingPointReturn is used to determine if the return value is in the in the integer registers of the floating point registers. The IL Interpreter will copy these values onto the stack and return a pointer to that location as if they were not enregistered.

UniqueId

Uniquely identifies the DkmILInstruction object. Used as a hash-table key to allow for quickly matching up DkmIL instructions with their matching values.

(Inherited from DkmILInstruction)

Methods

Create(UInt32, UInt32, DkmILCallingConvention, DkmILFunctionEvaluationFlags, ReadOnlyCollection<DkmILFunctionEvaluationArgumentFlags>, UInt32)

Create a new DkmILExecuteFunction object instance.

Applies to