FunctionLeave3WithInfo 함수
업데이트: 2010년 10월
컨트롤이 함수에서 반환되고 있음을 프로파일러에 알리고 스팩 프레임 및 반환 값을 검색할 수 있도록 ICorProfilerInfo3::GetFunctionLeave3Info 메서드에 전달되는 핸들을 제공합니다.
void __stdcall FunctionLeave3WithInfo(
[in] FunctionIDOrClientID functionIDOrClientID,
[in] COR_PRF_ELT_INFO eltInfo);
매개 변수
functionIDOrClientID
[in] 컨트롤이 반환되는 함수의 식별자입니다.eltInfo
[in] 지정된 스택 프레임에 대한 정보를 나타내는 불투명 핸들입니다. 이 핸들은 해당 핸들이 전달된 콜백 중에만 유효합니다.
설명
FunctionLeave3WithInfo 콜백 메서드는 함수가 호출되었음을 프로파일러에 알리고 프로파일러에서 ICorProfilerInfo3::GetFunctionLeave3Info 메서드를 사용하여 반환 값을 검사할 수 있도록 합니다. 반환 값 정보에 액세스하려면 COR_PRF_ENABLE_FUNCTION_RETVAL 플래그를 설정해야 합니다. 프로파일러는 ICorProfilerInfo::SetEventMask 메서드를 사용하여 이벤트 플래그를 설정한 다음 ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo 메서드를 사용하여 이 함수의 구현을 등록할 수 있습니다.
FunctionLeave3WithInfo 함수는 구현해야 하는 콜백 함수입니다. __declspec(naked) 저장소 클래스 특성을 사용하여 구현해야 합니다.
이 함수를 호출해야 실행 엔진에서 레지스터를 저장합니다.
시작할 때 FPU(부동 소수점 단위)의 레지스터를 포함하여 사용하는 모든 레지스터를 저장해야 합니다.
종료할 때 호출자에 의해 푸시되는 모든 매개 변수를 팝하여 스택을 복원해야 합니다.
가비지 수집이 지연될 수 있으므로 FunctionLeave3WithInfo 구현이 차단되지 않아야 합니다. 스택이 가비지를 수집하기에 좋은 상태가 아닐 수 있으므로 구현에서는 가비지 수집을 시도하지 않아야 합니다. 가비지 수집이 시도될 경우 FunctionLeave3WithInfo가 반환될 때까지 런타임이 차단됩니다.
FunctionLeave3WithInfo 함수에서 관리 코드를 호출하거나 관리되는 메모리를 할당해서는 안 됩니다.
요구 사항
플랫폼: .NET Framework 시스템 요구 사항 참조
헤더: CorProf.idl
라이브러리: CorGuids.lib
.NET Framework 버전: 4
참고 항목
참조
SetEnterLeaveFunctionHooks3WithInfo
기타 리소스
변경 기록
날짜 |
변경 내용 |
이유 |
---|---|---|
2010년 10월 |
__stdcall을 구문에 추가했습니다. |
고객 의견 |