DkmClrValue Class

Definition

A value resulting from a CLR inspection query. These values are used by a Result Formatter to generate DkmEvaluationResults.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

public ref class DkmClrValue : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("8186570c-2529-edb5-ef0b-4e485f902e89")]
public class DkmClrValue : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("8186570c-2529-edb5-ef0b-4e485f902e89")>]
type DkmClrValue = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmClrValue
Inherits DkmDataContainer
Implements IDisposable
Inheritance
Attributes
Implements

Properties

Access

The access control level (public, private, etc) of the evaluation result.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Address

[Optional] If the result is an address (i.e. the address flag is set in Flags), specifies the location of the backing value. This is used when the evaluation result is used as the input to the memory window or disassembly window. If it is an instruction address then it must have the CPUInstruction address set.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Alias

[Optional] The alias for this value. If the object has not been assigned an alias, this value will be null.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ArrayDimensions

[Optional] The dimensions of the the array. This value is only valid if this DkmClrValue is an array value.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ArrayLowerBounds

[Optional] The lower bounds of the the array. This value is only valid if this DkmClrValue is an array value.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Category

The category (ex: Data, Method, etc) of this evaluation result.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

EvalFlags

Flags describing of the result of the evaluation that created this DkmClrValue.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

HostObjectValue

[Optional] The value of this node if the DkmClrValue is a value that can be represented in the debugger process. If the DkmClrValue is of a complex type, this value will be null.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

InspectionSession

The InspectionSession allows the various components which examine data in the target process to store private data with the same lifetime. Inspection sessions are closed when the user attempts to continue the process.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IsNull

True if the value is a null (or if there is no value).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

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)
Language

The language being used.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

NativeComPointer

An interface pointer to the native COM object if this value is an RCW.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

StackFrame

The stack frame used as the inspection frame of the interpreted expression.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

StorageType

The storage type (ex: static) of the evaluation result.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Type

[Optional] The runtime type of this node. System.String, for example. This value is null when the value is invalid AND the type cannot be determined.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

TypeModifierFlags

Type modifier flags (ex: const) of the evaluation result.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

UniqueId

Guid which uniquely identifies this interpreted result.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ValueFlags

Flags describing this value.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Methods

Close()

Closes the CLR value to release resources associated with it. This method must be invoked by the object that requested the evaluation query (ex: called DkmCompiledClrInspectionQuery.Execute).

DkmClrValue objects are automatically closed when their associated DkmInspectionSession object is closed.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Create(DkmInspectionSession, DkmLanguage, DkmClrType, DkmEvaluationResultCategory, DkmEvaluationResultAccessType, DkmEvaluationResultStorageType, DkmEvaluationResultTypeModifierFlags, Boolean, Object, DkmStackWalkFrame, DkmEvaluationResultFlags, DkmClrValueFlags, UInt64, DkmDataAddress, String, ReadOnlyCollection<Int32>, ReadOnlyCollection<Int32>, DkmDataItem)

Create a new DkmClrValue object instance.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Dereference(DkmInspectionContext)

Dereference this pointer value to get the underlying value. This method may only be used if the DkmClrValue represents a Pointer value.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

EvaluateDebuggerDisplayString(DkmWorkList, DkmInspectionContext, DkmClrType, String, DkmCompletionRoutine<DkmEvaluateDebuggerDisplayStringAsyncResult>)

Gets the string to display in the debugger UI for a CLR value given a DebuggerDisplay attribute string.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

EvaluateToString(DkmInspectionContext)

Execute the ToString override on an object represented by the given DkmClrValue. If the value is of type object or does not override ToString, this method will return null. This method requires function evaluation to be enabled. If function evaluation is disabled by the user or for any other reason, this method will return null. This method will also return null if the function evaluation fails for any reason.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetArrayElement(Int32[], DkmInspectionContext)

Get an array element. This method may only be used if the DkmClrValue represents an array value.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

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)
GetEditableValueString(DkmInspectionContext, DkmClrCustomTypeInfo)

Get the editable value string to display in the UI for the given DkmClrValue.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

GetMemberValue(String, Int32, String, DkmInspectionContext)

Gets the value of a field or property as a DkmClrValue.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetResult(DkmWorkList, DkmClrType, DkmClrCustomTypeInfo, DkmInspectionContext, ReadOnlyCollection<String>, String, String, DkmCompletionRoutine<DkmEvaluationAsyncResult>)

Format a DkmClrValue and return a DkmEvaluationResult.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetUnderlyingString(DkmInspectionContext)

Get the underlying string representation of the value.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetValueString(DkmClrCustomTypeInfo, DkmInspectionContext, ReadOnlyCollection<String>)

Get the value string to display in the UI for the given DkmClrValue.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

GetValueString(DkmInspectionContext, ReadOnlyCollection<String>)

Get the value string to display in the UI for the given DkmClrValue.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

HasUnderlyingString(DkmInspectionContext)

Determines if this value has an underlying string representation. If this method returns true, the user can use string visualizers to view this value in the debugger. GetUnderlyingString should return the underlying string representation.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

InstantiateDynamicViewProxy(DkmInspectionContext)

Instantiate the proxy class to use for iterating the dynamic members of an IDynamicMetaObjectProvider value.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

InstantiateProxyType(DkmInspectionContext, DkmClrType)

Instantiate a proxy class for a DkmClrValue with an associated DebuggerTypeProxy attribute.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

InstantiateResultsViewProxy(DkmInspectionContext, DkmClrType)

Instantiate the proxy class to use for iterating an IEnumerable value.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

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