ICorProfilerCallback::ObjectReferences metódus

Értesíti a profilozót a memória azon objektumairól, amelyekre a megadott objektum hivatkozik.

Szintaxis

HRESULT ObjectReferences(  
    [in]  ObjectID objectId,  
    [in]  ClassID  classId,  
    [in]  ULONG    cObjectRefs,  
    [in, size_is(cObjectRefs)] ObjectID objectRefIds[] );  

Paraméterek

objectId
[in] Az objektumokra hivatkozó objektum azonosítója.

classId
[in] Annak az osztálynak az azonosítója, amelyből a megadott objektum példánya.

cObjectRefs
[in] A megadott objektum által hivatkozott objektumok száma (azaz a tömb elemeinek objectRefIds száma).

objectRefIds
[in] A által hivatkozott objektumok azonosítóinak tömbje objectId.

Megjegyzések

A ObjectReferences metódus a szemétgyűjtés befejezése után a halomban maradó objektumokhoz lesz meghívva. Ha a profilkészítő hibát ad vissza ebből a visszahívásból, a profilkészítési szolgáltatások a következő szemétgyűjtésig megszüntetik a visszahívás meghívását.

A ObjectReferences visszahívás az ICorProfilerCallback::RootReferences visszahívással együtt használható egy teljes objektumhivatkozási gráf létrehozásához a futtatókörnyezethez. A közös nyelvi futtatókörnyezet (CLR) biztosítja, hogy a metódus minden objektumhivatkozást csak egyszer jelentsen ObjectReferences .

Az által ObjectReferences visszaadott objektumazonosítók érvénytelenek a visszahívás során, mert a szemétgyűjtés az objektumok áthelyezésének közepén lehet. Ezért a profilkészítők nem kísérelhet meg objektumokat megvizsgálni hívás ObjectReferences közben. Az ICorProfilerCallback2::GarbageCollectionFinished hívása után a szemétgyűjtés befejeződött, és a vizsgálat biztonságosan elvégezhető.

A null ClassId érték azt jelzi, hogy objectId a típus kiürítve van.

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