다음을 통해 공유


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] 지정된 함수에 대한 형식 매개 변수의 수입니다. 제네릭이 아닌 함수의 경우 이 값은 0이어야 합니다.

  • typeArgs
    [in] 함수의 인수인 각 ClassID 값의 배열입니다. cTypeArgs가 0으로 설정되어 있으면 typeArgs 값은 NULL일 수 있습니다.

  • pFunctionID
    [out] 지정된 함수의 FunctionID에 대한 포인터입니다.

설명

mdMethodDef 메타데이터 토큰 대신 mdMethodRef 메타데이터와 함께 GetFunctionFromTokenAndTypeArgs 메서드를 호출하면 예기치 않은 결과가 발생할 수 있습니다. 호출자에서는 전달할 때 mdMethodRefmdMethodDef로 확인해야 합니다.

함수가 아직 로드되지 않은 경우 GetFunctionFromTokenAndTypeArgs를 호출하면 로딩이 발생합니다. 이는 많은 컨텍스트에서 위험한 작업입니다. 예를 들어, 모듈이나 형식을 로드하는 동안 이 메서드를 호출하면 런타임에 순환 로드를 시도할 때 무한 루프가 발생할 수 있습니다.

일반적으로 GetFunctionFromTokenAndTypeArgs는 사용하지 않는 것이 좋습니다. 프로파일러에서 특정 함수의 이벤트를 원하는 경우 해당 함수의 ModuleIDmdMethodDef를 저장하고 ICorProfilerInfo2::GetFunctionInfo2를 사용하여 지정된 FunctionID가 원하는 함수인지 확인해야 합니다.

요구 사항

플랫폼: .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 인터페이스