COR_PRF_FUNCTION_ARGUMENT_INFO Structure

Represents a function's arguments, in left-to-right order.

typedef struct _COR_PRF_FUNCTION_ARGUMENT_INFO {
    ULONG numRanges;
    ULONG totalArgumentSize;
    COR_PRF_FUNCTION_ARGUMENT_RANGE ranges[1];
} COR_PRF_FUNCTION_ARGUMENT_INFO;

Members

Member

Description

numRanges

The number of blocks of arguments. That is, this value is the number of COR_PRF_FUNCTION_ARGUMENT_RANGE structures in the ranges array.

totalArgumentSize

The total size of all arguments. In other words, this value is the sum of the argument lengths.

ranges

An array of COR_PRF_FUNCTION_ARGUMENT_RANGE structures, each of which represents one block of function arguments.

Remarks

A function may have many arguments. Those arguments might not be stored contiguously in memory. You might have a block of three arguments in one place, a block of two arguments in another place, and a final block of one argument in a different place. These arguments are all for the same function; they're just stored in different places.

The COR_PRF_FUNCTION_ARGUMENT_INFO structure represents all the arguments of a single function. It uses an array to reference all the blocks of function arguments. So, for a single function, you have a single COR_PRF_FUNCTION_ARGUMENT_INFO structure, which references multiple COR_PRF_FUNCTION_ARGUMENT_RANGE structures, each of which points to one or more function arguments.

Arguments that are stored in registers are spilled into memory to build the structures.

Requirements

Platforms: See .NET Framework System Requirements.

Header: CorProf.idl

Library: CorGuids.lib

.NET Framework Versions: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

See Also

Other Resources

Profiling Structures