ICorProfilerInfo2::GetCodeInfo2 方法

获取与指定的 FunctionID 关联的本机代码的范围。

HRESULT GetCodeInfo2(
    [in]  FunctionID functionID,
    [in]  ULONG32 cCodeInfos,
    [out] ULONG32 *pcCodeInfos,
    [out, size_is(cCodeInfos), length_is(*pcCodeInfos)]
    COR_PRF_CODE_INFO codeInfos[]);

参数

  • functionID
    [in] 与本机代码关联的函数的 ID。

  • cCodeInfos
    [in] codeInfos 数组的大小。

  • pcCodeInfos
    [out] 一个指向 COR_PRF_CODE_INFO 可用结构总数的指针。

  • codeInfos
    [out] 调用方提供的缓冲区。 该方法返回后,它将包含一个由 COR_PRF_CODE_INFO 结构组成的数组,其中每个结构都描述一个本机代码块。

备注

这些范围将按照 Microsoft 中间语言 (MSIL) 偏移量递增的顺序排序。

GetCodeInfo2 返回后,您必须验证 codeInfos 缓冲区是否足够大以包含所有 COR_PRF_CODE_INFO 结构。 为此,请将 cCodeInfos 的值与 cchName 参数的值进行比较。 如果 cCodeInfos 除以 COR_PRF_CODE_INFO 结构大小的值小于 pcCodeInfos,请分配较大的 codeInfos 缓冲区,用新的、更大的大小更新 cCodeInfos,然后再次调用 GetCodeInfo2

或者,您可以首先用长度为零的 codeInfos 缓冲区调用 GetCodeInfo2,以获取正确的缓冲区大小。 然后,您可以将 codeInfos 缓冲区大小设置为 pcCodeInfos 中返回的值,乘以 COR_PRF_CODE_INFO 结构的大小,并再次调用 GetCodeInfo2

有关这两种方法的更多信息,请参见分析 API 方法约定

要求

**平台:**请参见 .NET Framework 系统要求

**头文件:**CorProf.idl、CorProf.h

**库:**CorGuids.lib

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

请参见

参考

ICorProfilerInfo 接口

ICorProfilerInfo2 接口

其他资源

分析接口

分析(非托管 API 参考)