ICorProfilerCallback2 – rozhraní
Poskytuje metody, které jsou používány common language runtime (CLR) oznámit profileru kódu, když dojde k událostem, ke kterým se profiler přihlásil. Rozhraní ICorProfilerCallback2
je rozšíření ICorProfilerCallback rozhraní. To znamená, že poskytuje nová zpětná volání zavedená v rozhraní .NET Framework verze 2.0.
Poznámka
Každá implementace metody musí vrátit hodnotu HRESULT s hodnotou S_OK při úspěchu nebo E_FAIL při selhání. V současné době CLR ignoruje HRESULT, která je vrácena jednotlivými zpětnými voláními s výjimkou ICorProfilerCallback::ObjectReferences.
Metody
Metoda | Popis |
---|---|
FinalizeableObjectQueued – metoda | Oznámí profileru kódu, že objekt s finalizační metodou byl zařazen do fronty do vlákna finalizační metody Finalize . |
GarbageCollectionFinished – metoda | Upozorní profiler, že bylo dokončeno uvolňování paměti a byla pro něj vydána všechna zpětná volání uvolňování paměti. |
GarbageCollectionStarted – metoda | Upozorní profiler kódu, že bylo spuštěno uvolňování paměti. |
HandleCreated – metoda | Upozorní profiler kódu, že byl vytvořen popisovač uvolňování paměti. |
HandleDestroyed – metoda | Upozorní profiler kódu, že popisovač uvolňování paměti byl zničen. |
RootReferences2 – metoda | Upozorní profiler na kořenové odkazy po uvolnění paměti. Tato metoda je rozšíření ICorProfilerCallback::RootReferences metoda. |
SurvivingReferences – metoda | Upozorní profiler na odkazy na objekty, které přežily uvolňování paměti. |
ThreadNameChanged – metoda | Oznámí profileru kódu, že se změnil název vlákna. |
Poznámky
CLR volá metodu ICorProfilerCallback
v rozhraní (nebo ICorProfilerCallback2
) k upozornění profileru, když dojde k události, ke které se profiler přihlásil. Toto je primární rozhraní zpětného volání, přes které CLR komunikuje s profilerem kódu.
Profiler kódu musí implementovat metody ICorProfilerCallback
rozhraní. Pro rozhraní .NET Framework 2.0 a novější verze musí profiler také implementovat ICorProfilerCallback2
metody . Každá implementace metody musí vrátit hodnotu HRESULT s hodnotou S_OK při úspěchu nebo E_FAIL při selhání. V současné době CLR ignoruje HRESULT, která je vrácena jednotlivými zpětnými voláními s výjimkou ICorProfilerCallback::ObjectReferences.
Profiler kódu musí být zaregistrován v registru systému Microsoft Windows, jeho objekt COM, který implementuje ICorProfilerCallback
rozhraní a ICorProfilerCallback2
. Profiler kódu se přihlásí k odběru událostí, pro které chce přijímat oznámení voláním ICorProfilerInfo::SetEventMask. To se obvykle provádí v implementaci profileru ICorProfilerCallback::Initialize. Profiler pak může přijímat oznámení z modulu runtime v případě, že dojde k události nebo když právě došlo v procesu spuštění modulu runtime.
Poznámka
Profiler registruje jeden objekt COM. Pokud profiler cílí na .NET Framework verze 1.0 nebo 1.1, tento objekt COM stačí implementovat pouze metody .ICorProfilerCallback
Pokud cílí na rozhraní .NET Framework verze 2.0 a novější, musí objekt COM také implementovat metody .ICorProfilerCallback2
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: CorProf.idl, CorProf.h
Knihovny: CorGuids.lib
Verze rozhraní .NET Framework: K dispozici od verze 2.0