다음을 통해 공유


FunctionEnter 함수

컨트롤이 함수에 전달되고 있음을 프로파일러에 알립니다.

참고

FunctionEnter 함수는 .NET Framework 버전 2.0에서 더 이상 사용되지 않고, 이 함수를 사용할 경우 성능 저하가 발생합니다. 대신 FunctionEnter2 함수를 사용합니다.

구문

void __stdcall FunctionEnter (  
    [in]  FunctionID funcID  
);  

매개 변수

funcID [in] 컨트롤이 전달되는 함수의 식별자입니다.

설명

FunctionEnter 함수는 콜백이며, 이를 구현해야 합니다. 구현은 __declspec(naked) 스토리지 클래스 특성을 사용해야 합니다.

실행 엔진은 이 함수를 호출하기 전에 레지스터를 저장하지 않습니다.

  • 입력 시 FPU(부동 소수점 유닛)의 레지스터를 포함하여 사용하는 모든 레지스터를 저장해야 합니다.

  • 종료 시 호출자가 푸시한 모든 매개 변수를 제거하여 스택을 복원해야 합니다.

가비지 수집이 지연되므로 FunctionEnter 구현을 차단해서는 안 됩니다. 스택이 가비지 수집 친화적 상태가 아닐 수 있으므로 구현에서 가비지 수집을 시도해서는 안 됩니다. 가비지 수집이 시도되면 런타임은 FunctionEnter가 반환될 때까지 차단됩니다.

또한 FunctionEnter 함수는 관리 코드를 호출하거나 어떤 식으로든 관리 메모리 할당을 유발해서는 안 됩니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorProf.idl

라이브러리: CorGuids.lib

.NET Framework 버전: 1.1, 1.0

참고 항목