Megosztás a következőn keresztül:


ICorProfilerCallback2 felület

Olyan metódusokat biztosít, amelyeket a közös nyelvi futtatókörnyezet (CLR) használ a kódprofilozó értesítésére, amikor azok az események történnek, amelyekre a profilkészítő előfizetett. Az ICorProfilerCallback2 interfész az ICorProfilerCallback felület kiterjesztése. Ez azt jelzi, hogy a .NET-keretrendszer 2.0-s verziójában bevezetett új visszahívásokat biztosít.

Megjegyzés

Minden metódus-implementációnak olyan HRESULT értéket kell visszaadnia, amelynek értéke S_OK a sikeres vagy a sikertelen E_FAIL. A CLR jelenleg figyelmen kívül hagyja az egyes visszahívások által visszaadott HRESULT-t az ICorProfilerCallback::ObjectReferences kivételével.

Metódusok

Metódus Leírás
FinalizeableObjectQueued metódus Értesíti a kódprofilozót, hogy egy véglegesítő objektum várólistára került a véglegesítő szálra a metódus végrehajtása Finalize céljából.
GarbageCollectionFinished metódus Értesíti a profilkészítőt arról, hogy a szemétgyűjtés befejeződött, és minden szemétgyűjtési visszahívás ki lett adva.
GarbageCollectionStarted metódus Értesíti a kódprofilozót arról, hogy a szemétgyűjtés elindult.
HandleCreated metódus Értesíti a kódprofilozót arról, hogy szemétgyűjtési leírót hoztak létre.
HandleDestroyed metódus Értesíti a kódprofilozót, hogy egy szemétgyűjtő fogópont megsemmisült.
RootReferences2 metódus A szemétgyűjtés után értesíti a profilkészítőt a gyökérhivatkozásokról. Ez a metódus az ICorProfilerCallback::RootReferences metódus kiterjesztése.
SurvivingReferences metódus Értesíti a profilozót azokról az objektumhivatkozásokról, amelyek túlélték a szemétgyűjtést.
ThreadNameChanged metódus Értesíti a kódprofilozót, hogy a szál neve megváltozott.

Megjegyzések

A CLR meghív egy metódust a ICorProfilerCallback (vagy ICorProfilerCallback2) felületen, amely értesíti a profilozót, ha olyan esemény történik, amelyre a profilkészítő előfizetett. Ez az elsődleges visszahívási felület, amelyen keresztül a CLR kommunikál a kódprofilozóval.

A kódprofilozónak implementálnia kell az ICorProfilerCallback interfész metódusait. A .NET-keretrendszer 2.0-s és újabb verziói esetében a profilkészítőnek is implementálnia kell a ICorProfilerCallback2 metódusokat. Minden metódus-implementációnak olyan HRESULT értéket kell visszaadnia, amelynek értéke S_OK a sikeres vagy a sikertelen E_FAIL. A CLR jelenleg figyelmen kívül hagyja az egyes visszahívások által visszaadott HRESULT-t az ICorProfilerCallback::ObjectReferences kivételével.

A kódprofilozónak regisztrálnia kell a Microsoft Windows beállításjegyzékében, annak COM-objektumában, amely implementálja a és ICorProfilerCallback2 a ICorProfilerCallback felületet. A kódprofil-kezelő feliratkozik azokra az eseményekre, amelyekről értesítést szeretne kapni az ICorProfilerInfo::SetEventMask hívásával. Ez általában az ICorProfilerCallback::Initialize profilkészítő implementációjában történik. A profilkészítő ezután értesítést tud kapni a futtatókörnyezetből, amikor egy esemény készül, vagy éppen egy végrehajtási futtatókörnyezeti folyamatban történt.

Megjegyzés

A profilkészítő egyetlen COM-objektumot regisztrál. Ha a profilkészítő .NET-keretrendszer 1.0-s vagy 1.1-es verzióját célozza, akkor a COM-objektumnak csak a metódusait kell implementálniaICorProfilerCallback. Ha .NET-keretrendszer 2.0-s vagy újabb verziót céloz meg, a COM objektumnak a metódusait is implementálnia ICorProfilerCallback2kell.

Követelmények

Platformok: Lásd: Rendszerkövetelmények.

Fejléc: CorProf.idl, CorProf.h

Könyvtár: CorGuids.lib

.NET-keretrendszer verziók: 2.0 óta elérhető

Lásd még