diff options
author | Mukul Sabharwal <mjsabby@gmail.com> | 2019-05-22 20:47:48 -0700 |
---|---|---|
committer | David Mason <davmason@microsoft.com> | 2019-05-22 20:47:48 -0700 |
commit | 7ea44a3d50963747d0471741d37e59ad1428f2ea (patch) | |
tree | eb1f0f4a0ae24c440ca2688f1046a088d5b2508a /src/inc/corprof.idl | |
parent | 94d7827a0803587c693709d469306168bd90db01 (diff) | |
download | coreclr-7ea44a3d50963747d0471741d37e59ad1428f2ea.tar.gz coreclr-7ea44a3d50963747d0471741d37e59ad1428f2ea.tar.bz2 coreclr-7ea44a3d50963747d0471741d37e59ad1428f2ea.zip |
Add EnumerateRefs API and remove GetObjectReferences (#24542)
Diffstat (limited to 'src/inc/corprof.idl')
-rw-r--r-- | src/inc/corprof.idl | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/inc/corprof.idl b/src/inc/corprof.idl index f8295886ba..d3a8072210 100644 --- a/src/inc/corprof.idl +++ b/src/inc/corprof.idl @@ -418,6 +418,9 @@ typedef HRESULT __stdcall StackSnapshotCallback( BYTE context[], void *clientData); +/* Callback for each object reference */ +typedef BOOL STDMETHODCALLTYPE ObjectReferenceCallback(ObjectID root, ObjectID* reference, void *clientData); + typedef enum { // These flags represent classes of callback events @@ -3946,8 +3949,8 @@ interface ICorProfilerInfo9 : ICorProfilerInfo8 ] interface ICorProfilerInfo10 : ICorProfilerInfo9 { - // Given an ObjectID, fetches all its object references and offsets (if any). - HRESULT GetObjectReferences(ObjectID objectId, ULONG32 cNumReferences, ULONG32 *pcNumReferences, ObjectID references[], SIZE_T offsets[]); + // Given an ObjectID, callback and clientData, enumerates each object reference (if any). + HRESULT EnumerateObjectReferences(ObjectID objectId, ObjectReferenceCallback callback, void* clientData); // Given an ObjectID, determines whether it is in a read only segment. HRESULT IsFrozenObject(ObjectID objectId, BOOL *pbFrozen); |