summaryrefslogtreecommitdiff
path: root/src/inc/corprof.idl
diff options
context:
space:
mode:
authorMukul Sabharwal <mjsabby@gmail.com>2019-05-22 20:47:48 -0700
committerDavid Mason <davmason@microsoft.com>2019-05-22 20:47:48 -0700
commit7ea44a3d50963747d0471741d37e59ad1428f2ea (patch)
treeeb1f0f4a0ae24c440ca2688f1046a088d5b2508a /src/inc/corprof.idl
parent94d7827a0803587c693709d469306168bd90db01 (diff)
downloadcoreclr-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.idl7
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);