DkmClrValue Класс

Определение

Значение, полученное в результате запроса проверки СРЕДЫ CLR. Эти значения используются форматировщиком результатов для создания DkmEvaluationResults.

Этот API появился в 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
Наследование
Наследование
DkmClrValue
Атрибуты
Реализации

Свойства

Access

Уровень управления доступом (общедоступный, частный и т. д.) результата оценки.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Address

[Необязательно] Если результатом является адрес (т. е. флаг адреса установлен в поле Флаги), указывает расположение резервного значения. Используется, когда результат оценки используется в качестве входных данных в окно памяти или окно дизассемблирования. Если это адрес инструкции, то в нем должен быть задан адрес CPUInstruction.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Alias

[Необязательно] Псевдоним для этого значения. Если объекту не назначен псевдоним, это значение будет иметь значение NULL.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ArrayDimensions

[Необязательно] Размеры массива. Это значение допустимо, только если это значение DkmClrValue является значением массива.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ArrayLowerBounds

[Необязательно] Нижние границы массива. Это значение допустимо, только если это значение DkmClrValue является значением массива.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Category

Категория (например, Данные, Метод и т. д.) этого результата оценки.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

EvalFlags

Флаги, описывающие результат вычисления, создавшего этот DkmClrValue.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

HostObjectValue

[Необязательно] Значение этого узла, если DkmClrValue является значением, которое может быть представлено в процессе отладчика. Если DkmClrValue имеет сложный тип, это значение будет иметь значение NULL. Примечание для использования в машинном коде, когда базовое значение является строкой. Если вы используете это поле в машинном коде, структура VARIANT может быть BSTR или IUnknown, к которому следует запросить IDkmManagedStringRef. Если вы создаете это поле в машинном коде, используйте variant BSTR.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

InspectionSession

InspectionSession позволяет различным компонентам, которые проверяют данные в целевом процессе, хранить частные данные с одинаковым временем существования. Сеансы проверки закрываются, когда пользователь пытается продолжить процесс.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IsNull

Значение true, если значение равно NULL (или значение отсутствует).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IsUnloaded

Возвращает значение true, если для этого объекта было вызвано событие "unloaded" (например, вызывается DkmThread::Unload) или если объект был закрыт. Обратите внимание, что при проверке этого состояния необходимо соблюдать осторожность, так как без синхронизации возвращаемое состояние может быть не точным после прочтения инструкции.

(Унаследовано от DkmDataContainer)
Language

Используемый язык.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

NativeComPointer

Указатель интерфейса на собственный COM-объект, если это значение является RCW.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

StackFrame

Кадр стека, используемый в качестве кадра проверки интерпретированного выражения.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

StorageType

Тип хранилища (например, статический) результата оценки.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Type

[Необязательно] Тип среды выполнения этого узла. Например, System.String. Это значение равно NULL, если значение недопустимо и тип не может быть определен.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

TypeModifierFlags

Флаги модификаторов типа (например, const) результата оценки.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

UniqueId

Guid, который однозначно идентифицирует интерпретируемый результат.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ValueFlags

Флаги, описывающие это значение.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Методы

Close()

Закрывает значение СРЕДЫ CLR, чтобы освободить связанные с ним ресурсы. Этот метод должен вызываться объектом, который запросил вычисление (например, DkmCompiledClrInspectionQuery.Execute).

Объекты DkmClrValue автоматически закрываются при закрытии связанного с ними объекта DkmInspectionSession.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в 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 новый экземпляр объекта DkmClrValue.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Dereference(DkmInspectionContext)

Разыменуйте это значение указателя, чтобы получить базовое значение. Этот метод можно использовать только в том случае, если DkmClrValue представляет значение указателя.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

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

Возвращает строку, отображаемую в пользовательском интерфейсе отладчика для значения CLR, заданного строкой атрибута DebuggerDisplay.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

EvaluateToString(DkmInspectionContext)

Выполните переопределение ToString для объекта, представленного заданным значением DkmClrValue. Если значение относится к типу object или не переопределяет ToString, этот метод возвращает значение NULL. Для этого метода требуется включить вычисление функции. Если вычисление функции отключено пользователем или по какой-либо другой причине, этот метод возвращает значение NULL. Этот метод также возвращает значение NULL, если вычисление функции по какой-либо причине завершается сбоем.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetArrayElement(Int32[], DkmInspectionContext)

Получение элемента массива. Этот метод можно использовать только в том случае, если DkmClrValue представляет значение массива.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetDataItem<T>()

Возвращает экземпляр T, который был добавлен в этот экземпляр контейнера. Если этот контейнер не содержит "T", эта функция возвращает значение NULL.

(Унаследовано от DkmDataContainer)
GetEditableValueString(DkmInspectionContext, DkmClrCustomTypeInfo)

Получите редактируемую строку значения, отображаемую в пользовательском интерфейсе для заданного значения DkmClrValue.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

GetMemberValue(String, Int32, String, DkmInspectionContext)

Возвращает значение поля или свойства в виде DkmClrValue.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

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

Отформатируйте значение DkmClrValue и верните DkmEvaluationResult.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetUnderlyingString(DkmInspectionContext)

Получение базового строкового представления значения.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetValueString(DkmClrCustomTypeInfo, DkmInspectionContext, ReadOnlyCollection<String>)

Возвращает строку значения, отображаемую в пользовательском интерфейсе для заданного значения DkmClrValue.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

GetValueString(DkmInspectionContext, ReadOnlyCollection<String>)

Возвращает строку значения, отображаемую в пользовательском интерфейсе для заданного значения DkmClrValue.

Ограничение расположения. API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

HasUnderlyingString(DkmInspectionContext)

Определяет, имеет ли это значение базовое строковое представление. Если этот метод возвращает значение true, пользователь может использовать визуализаторы строк для просмотра этого значения в отладчике. GetUnderlyingString должен возвращать базовое строковое представление.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

InstantiateDynamicViewProxy(DkmInspectionContext)

Создайте экземпляр прокси-класса, используемого для итерации динамических членов значения IDynamicMetaObjectProvider.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

InstantiateProxyType(DkmInspectionContext, DkmClrType)

Создайте экземпляр прокси-класса для DkmClrValue со связанным атрибутом DebuggerTypeProxy.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

InstantiateResultsViewProxy(DkmInspectionContext, DkmClrType)

Создайте экземпляр прокси-класса, используемого для итерации значения IEnumerable.

Ограничение расположения: API должен вызываться из компонента Monitor (уровень < компонента 100 000).

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

RemoveDataItem<T>()

Удалите экземпляр T из этого контейнера. Обычно не требуется вызывать этот метод, так как контейнер данных автоматически очищается при закрытии объекта.

(Унаследовано от DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Поместите новый элемент в контейнер данных.

(Унаследовано от DkmDataContainer)

Явные реализации интерфейса

IDisposable.Dispose()

Будет добавлено.

Применяется к