DkmILExecuteFunction.Create Method

Definition

Create a new DkmILExecuteFunction object instance.

public:
 static Microsoft::VisualStudio::Debugger::Evaluation::IL::DkmILExecuteFunction ^ Create(System::UInt32 ArgumentCount, System::UInt32 ReturnValueSize, Microsoft::VisualStudio::Debugger::Evaluation::IL::DkmILCallingConvention CallingConvention, Microsoft::VisualStudio::Debugger::Evaluation::IL::DkmILFunctionEvaluationFlags Flags, System::Collections::ObjectModel::ReadOnlyCollection<Microsoft::VisualStudio::Debugger::Evaluation::IL::DkmILFunctionEvaluationArgumentFlags> ^ ArgumentFlags, System::UInt32 UniformComplexReturnElementSize);
public static Microsoft.VisualStudio.Debugger.Evaluation.IL.DkmILExecuteFunction Create(uint ArgumentCount, uint ReturnValueSize, Microsoft.VisualStudio.Debugger.Evaluation.IL.DkmILCallingConvention CallingConvention, Microsoft.VisualStudio.Debugger.Evaluation.IL.DkmILFunctionEvaluationFlags Flags, System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Evaluation.IL.DkmILFunctionEvaluationArgumentFlags> ArgumentFlags, uint UniformComplexReturnElementSize);
static member Create : uint32 * uint32 * Microsoft.VisualStudio.Debugger.Evaluation.IL.DkmILCallingConvention * Microsoft.VisualStudio.Debugger.Evaluation.IL.DkmILFunctionEvaluationFlags * System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Evaluation.IL.DkmILFunctionEvaluationArgumentFlags> * uint32 -> Microsoft.VisualStudio.Debugger.Evaluation.IL.DkmILExecuteFunction
Public Shared Function Create (ArgumentCount As UInteger, ReturnValueSize As UInteger, CallingConvention As DkmILCallingConvention, Flags As DkmILFunctionEvaluationFlags, ArgumentFlags As ReadOnlyCollection(Of DkmILFunctionEvaluationArgumentFlags), UniformComplexReturnElementSize As UInteger) As DkmILExecuteFunction

Parameters

ArgumentCount
UInt32

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

ReturnValueSize
UInt32

[In] 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.

CallingConvention
DkmILCallingConvention

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

Flags
DkmILFunctionEvaluationFlags

[In] Flags affecting how a function evaluation should occur.

ArgumentFlags
ReadOnlyCollection<DkmILFunctionEvaluationArgumentFlags>

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

UniformComplexReturnElementSize
UInt32

[In] 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.

Returns

[Out] Result of this method call.

Applies to