ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs Method
Gets the FunctionID of a function by using the specified metadata token, containing class, and ClassID values of any type arguments.
HRESULT GetFunctionFromTokenAndTypeArgs(
[in] ModuleID moduleID,
[in] mdMethodDef funcDef,
[in] ClassID classId,
[in] ULONG32 cTypeArgs,
[in, size_is(cTypeArgs)] ClassID typeArgs[],
[out] FunctionID* pFunctionID);
Parameters
Parameter | Description |
---|---|
moduleID |
[in] The ID of the module in which the function resides. |
funcDef |
[in] An mdMethodDef metadata token that references the function. |
classId |
[in] The ID of the function's containing class. |
cTypeArgs |
[in] The number of type parameters for the given function. This value must be zero for non-generic functions. |
typeArgs |
[in] An array of ClassID values, each of which is an argument of the function. The value of typeArgs can be NULL if cTypeArgs is set to zero. |
pFunctionID |
[out] A pointer to the FunctionID of the specified function. |
Remarks
Calling the GetFunctionFromTokenAndTypeArgs method with an mdMethodRef metadata instead of an mdMethodDef metadata token can have unpredictable results. Callers should resolve the mdMethodRef to an mdMethodDef when passing it.
If the function is not already loaded, calling GetFunctionFromTokenAndTypeArgs will cause loading to occur, which is a dangerous operation in many contexts. For example, calling this method during loading of modules or types could lead to an infinite loop as the runtime attempts to circularly load things.
In general, use of GetFunctionFromTokenAndTypeArgs is discouraged. If profilers are interested in events for a particular function, they should store the ModuleID and mdMethodDef of that function, and use ICorProfilerInfo2::GetFunctionInfo2 Method to check whether a given FunctionID is that of the desired function.
Requirements
Platforms: Windows 2000, Windows XP, Windows Server 2003 family
Header: CorProf.idl
Library: CorGuids.lib
.NET Framework Version: 2.0