DkmManagedHeapWalker Class

Definition

DkmManagedHeapWalker represents an enumerator for managed heap.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

public ref class DkmManagedHeapWalker : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("dca8e5e0-6bfc-1a87-5ae8-4c165856c3cb")]
public class DkmManagedHeapWalker : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("dca8e5e0-6bfc-1a87-5ae8-4c165856c3cb")>]
type DkmManagedHeapWalker = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmManagedHeapWalker
Inherits DkmDataContainer
Implements IDisposable
Inheritance
DkmManagedHeapWalker
Attributes
Implements

Properties

IsUnloaded

Returns true if a 'unloaded' event has been raised for this object (example: DkmThread::Unload is called) or if the object has been closed. Note that care must be used when checking this status as, without synchronization, the returned status may no longer be accurate the instruction after it is read.

(Inherited from DkmDataContainer)
RuntimeInstance

The DkmRuntimeInstance class represents an execution environment which is loaded into a DkmProcess and which contains code to be debugged.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

UniqueId

Guid which uniquely identifies this DkmManagedHeapWalker.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Methods

Close()

Closes a DkmManagedHeapWalker object instance. This will release any resources associated with this object across all components. This includes resources across computer or managed/native marshalling boundaries.

DkmManagedHeapWalker objects are automatically closed when their associated DkmRuntimeInstance object is closed.

This method may only be called by the component which created the object.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Create(DkmRuntimeInstance, DkmDataItem)

Create a new DkmManagedHeapWalker object instance. The caller is responsible for closing the created object after they are done.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetDataItem<T>()

Gets the instance of 'T' which has been added to this container instance. If this container does not contain a 'T', this function will return null.

(Inherited from DkmDataContainer)
GetPathsToRoot(DkmWorkList, UInt64, Boolean, DkmCompletionRoutine<DkmGetPathsToRootAsyncResult>)
GetSegments()

Gets the list of segments in the heap.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetTypeNames(DkmManagedTypeId[])

Gets the type names for the given type ids.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

InitializeHeapObjectWalk()

Prepares enumerator for walking the objects in the heap, returns error if heap cannot be enumerated.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

InitializeHeapReferenceWalk()

Prepares enumeration for reporting references between objects in the heap, returns error if heap cannot be enumerated.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

InitializeHeapRootsWalk()

Prepares enumeration for reporting roots in the heap, returns error if heap cannot be enumerated.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextObjects(UInt32)

Returns the next set of objects from the enumeration.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextReferences(UInt32)

Returns the next set of elements from the enumeration.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextRoots(UInt32)

Returns the next set of roots from the enumeration.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

RemoveDataItem<T>()

Remove the instance of 'T' from this container. It is usually unnecessary to call this method as a data container will automatically be emptied when the object is closed.

(Inherited from DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Place a new item in the data container.

(Inherited from DkmDataContainer)

Explicit Interface Implementations

IDisposable.Dispose()

To be added.

Applies to