다음을 통해 공유


FunctionIDMapper 함수

함수의 지정된 식별자가 해당 함수의 FunctionEnter2, FunctionLeave2FunctionTailcall2 콜백에 사용할 대체 ID에 다시 매핑될 수 있음을 프로파일러에 알립니다. FunctionIDMapper를 사용하면 프로파일러에서 해당 함수의 콜백을 받을지 여부를 나타낼 수 있습니다.

UINT_PTR __stdcall FunctionIDMapper (
    [in]  FunctionID  funcId, 
    [out] BOOL       *pbHookFunction
);

매개 변수

  • funcId
    [in] 다시 매핑될 함수 식별자입니다.

  • pbHookFunction
    [out] 프로파일러에서 FunctionEnter2, FunctionLeave2FunctionTailcall2 콜백을 받으려는 경우 true로 설정하고 그렇지 않는 경우 false로 설정하는 값에 대한 포인터입니다.

반환 값

프로파일러는 실행 엔진에서 대체 함수 식별자로 사용하는 값을 반환합니다. 반환 값은 pbHookFunction에서 false가 반환되지 않는 한 null이 될 수 없습니다. 그렇지 않은 경우에 null 값이 반환되면 프로세스 중지를 포함한 예기치 않는 결과가 발생할 수 있습니다.

설명

FunctionIDMapper 함수는 콜백 함수입니다. 이 함수는 프로파일러에서 구현되며 함수 ID를 프로파일러에 더 유용한 다른 식별자로 다시 매핑합니다. FunctionIDMapper는 지정된 함수에 사용할 대체 ID를 반환합니다. 그런 다음 실행 엔진에서는 프로파일러의 요청에 따라 기존의 함수 ID와 함께 이 대체 ID를 FunctionEnter2, FunctionLeave2FunctionTailcall2 후크의 clientData 매개 변수로 프로파일에 다시 전달하여 후크가 호출되는 함수를 식별합니다.

ICorProfilerInfo::SetFunctionIDMapper 메서드를 사용하여 FunctionIDMapper 함수의 구현을 지정할 수 있습니다. ICorProfilerInfo::SetFunctionIDMapper 메서드는 한 번만 호출할 수 있으며 ICorProfilerCallback::Initialize 콜백에서 호출하는 것이 좋습니다.

기본적으로 ICorProfilerInfo::SetEnterLeaveFunctionHooks 또는 ICorProfilerInfo2::SetEnterLeaveFunctionHooks2를 통해 후크를 설정하는 ICorProfilerInfo::SetEventMask를 사용하여 COR_PRF_MONITOR_ENTERLEAVE 플래그를 설정하는 프로파일러에서는 모든 함수에 대해 FunctionEnter2, FunctionLeave2, and FunctionTailcall2 콜백을 받는다고 가정합니다. 그러나 프로파일러에서는 FunctionIDMapper를 구현하여 pbHookFunction을 false로 설정함으로써 선택적으로 특정 함수에 대해 이러한 콜백을 받지 않을 수 있습니다.

프로파일러에서는 프로파일링된 응용 프로그램의 여러 스레드에서 같은 메서드/함수를 동시에 호출하는 경우를 허용할 수 있어야 합니다. 이런 경우 프로파일러에서는 동일한 FunctionID에 대해 여러 FunctionIDMapper 콜백을 받을 수 있습니다. 프로파일러에서 같은 FunctionID를 사용하여 이 콜백을 여러 번 호출할 때 같은 값이 반환되어야 합니다.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: CorProf.idl

라이브러리: CorGuids.lib

.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

참고 항목

참조

ICorProfilerInfo::SetFunctionIDMapper 메서드

FunctionIDMapper2 함수

FunctionEnter2 함수

FunctionLeave2 함수

FunctionTailcall2 함수

기타 리소스

프로파일링 전역 정적 함수