ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs 方法
通过使用指定的元数据标记(包含类和任何类型参数的 ClassID
值)获取函数的 FunctionID
。
语法
HRESULT GetFunctionFromTokenAndTypeArgs(
[in] ModuleID moduleID,
[in] mdMethodDef funcDef,
[in] ClassID classId,
[in] ULONG32 cTypeArgs,
[in, size_is(cTypeArgs)] ClassID typeArgs[],
[out] FunctionID* pFunctionID);
参数
moduleID
[in] 函数所在的模块的 ID。
funcDef
[in] 引用函数的 mdMethodDef
元数据标记。
classId
[in] 函数的包含类的 ID。
cTypeArgs
[in] 给定函数的类型参数的数目。 对于非泛型函数,此值必须为零。
typeArgs
[in] ClassID
值的数组,每个值都是函数的参数。 如果 cTypeArgs
设置为零,typeArgs
的值可以为 NULL。
pFunctionID
[out] 指向指定函数的 FunctionID
的指针。
注解
使用 mdMethodRef
元数据而不是 mdMethodDef
元数据标记调用 GetFunctionFromTokenAndTypeArgs
方法可能会产生无法预测的结果。 调用方在传递 mdMethodRef
时应将其解析为 mdMethodDef
。
如果函数尚未加载,则调用 GetFunctionFromTokenAndTypeArgs
将导致进行加载操作,这在许多上下文中是一项危险操作。 例如,在加载模块或类型期间调用此方法可能会导致无限循环,因为运行时会尝试循环加载内容。
通常,不鼓励使用 GetFunctionFromTokenAndTypeArgs
。 如果探查器对特定函数的事件感兴趣,则它们应该存储该函数的 ModuleID
和 mdMethodDef
,并使用 ICorProfilerInfo2::GetFunctionInfo2 检查给定的 FunctionID
是否是所需函数的 ID。
要求
平台:请参阅系统要求。
头文件: CorProf.idl、CorProf.h
库:CorGuids.lib
.NET Framework 版本:自 2.0 起可用
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈