DkmILExecuteFunction Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
- 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. |