ICorProfilerCallback2 인터페이스
프로파일러가 구독한 이벤트가 발생할 때 코드 프로파일러에 이를 알리기 위해 CLR(공용 언어 런타임)에서 사용하는 메서드를 제공합니다. ICorProfilerCallback2 인터페이스는 ICorProfilerCallback 인터페이스를 확장한 것입니다. 즉, 이 인터페이스는 .NET Framework 버전 2.0에서 도입된 새로운 콜백을 제공합니다.
참고 |
---|
구현된 각 메서드에서는 HRESULT를 반환해야 하며 이 값은 성공할 경우 S_OK 값, 실패할 경우 E_FAIL 값입니다.현재 CLR에서는 ICorProfilerCallback::ObjectReferences를 제외한 각 콜백에서 반환된 HRESULT를 무시합니다. |
메서드
메서드 |
설명 |
---|---|
종료자가 있는 개체가 해당 개체의 Finalize 메서드 실행을 위해 종료자 스레드 큐에 대기하고 있음을 코드 프로파일러에 알립니다. |
|
가비지 수집이 완료되고 해당되는 모든 가비지 수집 콜백이 실행되었음을 프로파일러에 알립니다. |
|
가비지 수집이 시작되었음을 코드 프로파일러에 알립니다. |
|
가비지 수집 핸들이 만들어졌음을 코드 프로파일러에 알립니다. |
|
가비지 수집 핸들이 소멸되었음을 코드 프로파일러에 알립니다. |
|
가비지 수집이 발생한 후 루트 참조에 대한 정보를 프로파일러에 알립니다. 이 메서드는 ICorProfilerCallback::RootReferences 메서드를 확장한 것입니다. |
|
가비지 수집되지 않고 유지된 개체 참조에 대한 정보를 프로파일러에 알립니다. |
|
스레드 이름이 변경되었음을 코드 프로파일러에 알립니다. |
설명
CLR에서는 프로파일러가 등록된 이벤트가 발생할 경우 ICorProfilerCallback 또는 ICorProfilerCallback2 인터페이스의 메서드를 호출하여 이를 프로파일러에 알립니다. 이 인터페이스는 CLR에서 코드 프로파일러와 통신하는 데 사용되는 기본 콜백 인터페이스입니다.
코드 프로파일러에서는 ICorProfilerCallback 인터페이스의 메서드를 구현해야 합니다. .NET Framework 2.0 이상 버전의 경우에는 프로파일러에서 ICorProfilerCallback2 메서드도 구현해야 합니다. 구현된 각 메서드에서는 HRESULT를 반환해야 하며 이 값은 성공할 경우 S_OK 값, 실패할 경우 E_FAIL 값입니다. 현재 CLR에서는 ICorProfilerCallback::ObjectReferences를 제외한 각 콜백에서 반환된 HRESULT를 무시합니다.
코드 프로파일러는 ICorProfilerCallback 또는 ICorProfilerCallback2 인터페이스를 구현하는 해당 COM 개체를 Microsoft Windows 레지스트리에 등록해야 합니다. 코드 프로파일러는 ICorProfilerInfo::SetEventMask를 호출하여 알림을 받을 이벤트에 등록합니다. 이는 대개 프로파일러에 구현된 ICorProfilerCallback::Initialize에서 수행됩니다. 그러면 프로파일러에서는 실행 중인 런타임 프로세스에서 이벤트가 발생하기 직전이나 직후에 런타임으로부터 알림을 받을 수 있습니다.
참고 |
---|
프로파일러는 단일 COM 개체를 등록합니다.프로파일러가 .NET Framework 버전 1.0 또는 1.1을 대상으로 하는 경우 해당 COM 개체는 ICorProfilerCallback의 메서드만 구현해야 합니다.프로파일러가 .NET Framework 버전 2.0 이상을 대상으로 하는 경우 해당 COM 개체는 ICorProfilerCallback2의 메서드도 구현해야 합니다. |
요구 사항
플랫폼: .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