COR_PRF_FUNCTION_ARGUMENT_INFO Structure
Represents a function's arguments, in left-to-right order.
Syntax
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 System Requirements.
Header: CorProf.idl
Library: CorGuids.lib
.NET Framework Versions: Available since 2.0