DacpMethodDescData Structure

Defines a transport buffer for a method's runtime information.

Note

This API was originally designed for internal use in the runtime. Although it is now supported for 3rd party use, we recommend working with ICorDebug and ICorProfiler APIs when possible.

Syntax

struct DacpMethodDescData
{
    int             bHasNativeCode;
    int             bIsDynamic;
    unsigned short  wSlotNumber;
    CLRDATA_ADDRESS NativeCodeAddr;
    CLRDATA_ADDRESS data;
    CLRDATA_ADDRESS MethodDescPtr;
    CLRDATA_ADDRESS nativeCodeInfo;
    CLRDATA_ADDRESS moduleInfo;
    mdToken         MDToken;
    CLRDATA_ADDRESS payloadGC;
    CLRDATA_ADDRESS payloadGC2;
    CLRDATA_ADDRESS managedDynamicMethodObject;
    CLRDATA_ADDRESS requestedIP;
    DacpReJitData   rejitDataCurrent;
    DacpReJitData   rejitDataRequested;
    unsigned long   cJittedRejitVersions;
};

Members

Member Description
bHasNativeCode Indicates if the runtime has native code available for the given instantiation of the method.
bIsDynamic Indicates if the method is generated dynamically through lightweight code generation.
wSlotNumber The method's slot number in the method table.
NativeCodeAddr The method's initial native address.
data Pointer to a buffer used internally by the runtime.
MethodDescPtr Pointer to the MethodDesc in the runtime.
nativeCodeInfo Pointer to a buffer used internally by the runtime to track methods.
moduleInfo Pointer to a buffer used internally by the runtime for module information.
MDToken Token associated with the given method.
payloadGC Pointer to a garbage collection buffer used internally by the runtime.
payloadGC2 Pointer to a garbage collection buffer used internally by the runtime.
managedDynamicMethodObject If the method is dynamic, the runtime uses this buffer internally for information tracking.
requestedIP Used to populate the structure per request when given a native code address.
rejitDataCurrent Information about the latest instrumented version of the method.
rejitDataRequested Rejit information for the requested native address.
cJittedRejitVersions Number of times the method has been rejitted through instrumentation.

Remarks

This structure lives inside the runtime and is not exposed through any headers or library files. To use it, define the structure as specified above.

Requirements

Platforms: See System Requirements.
Header: None
Library: None
.NET Framework Versions: Available since 4.7

See also