Интерфейс IDataModelManager (dbgmodel.h)
Основной интерфейс для диспетчера моделей данных. Это интерфейс, с помощью которого создаются новые объекты, встроенные значения упаковываются и распаковываются, а модели регистрируются для типов.
Клиент никогда не реализует этот интерфейс напрямую.
Наследование
IDataModelManager наследуется от IUnknown.
Методы
Интерфейс IDataModelManager содержит следующие методы.
IDataModelManager::AcquireNamedModel При этом выполняется поиск известного имени модели и возвращается модель данных, зарегистрированная по этому имени. |
IDataModelManager::AddRef Метод AddRef увеличивает количество ссылок для интерфейса объекта . Этот метод принадлежит интерфейсу IDataModelManager. |
IDataModelManager::Close Метод Close вызывается в диспетчере моделей данных приложением, например отладчиком, в котором размещается модель данных, чтобы запустить процесс завершения работы диспетчера моделей данных. |
IDataModelManager::CreateDataModelObject Метод IDataModelManager::CreateDataModelObject является простой вспомогательной оболочкой для создания объектов, которые являются моделями данных. |
IDataModelManager::CreateErrorObject Метод CreateErrorObject создает объект error. Модель данных не имеет понятия исключений и потока исключений. |
IDataModelManager::CreateIntrinsicObject Метод CreateIntrinsicObject — это метод, который упаковывает встроенные значения в IModelObject. Вызывающий объект помещает значение в COM VARIANT и вызывает этот метод. |
IDataModelManager::CreateMetadataStore Метод IDataModelManager::CreateMetadataStore создает хранилище ключей, которое используется для хранения метаданных, которые могут быть связаны со свойствами и другими значениями. |
IDataModelManager::CreateNoValue Метод CreateNoValue создает объект "без значения", упаковывает его в IModelObject и возвращает его. Возвращаемый объект модели имеет тип ObjectNoValue. |
IDataModelManager::CreateSyntheticObject Метод IDataModelManager::CreateSyntheticObject создает пустой объект модели данных, который является словарем кортежей и понятий "ключ-значение/метаданные". |
IDataModelManager::CreateTypedIntrinsicObject Метод IDataModelManager::CreateTypedIntrinsicObject упаковывает встроенные значения вместе с сопоставлением типа языка и языка в IModelObject. |
IDataModelManager::CreateTypedObject Метод IDataModelManager::CreateTypedObject создает представление собственного или языкового объекта в адресном пространстве целевого объекта отладки. |
IDataModelManager::CreateTypedObjectReference Метод IDataModelManager::CreateTypedObjectReference создает ссылку на базовую конструкцию машинного или языкового кода. |
IDataModelManager::GetModelForType Метод IDataModelManager::GetModelForType возвращает модель данных, которая является каноническим визуализатором для данного экземпляра типа. |
IDataModelManager::GetModelForTypeSignature Метод IDataModelManager::GetModelForTypeSignature возвращает модель данных, которая была ранее зарегистрирована для заданной сигнатуры типа. |
IDataModelManager::GetRootNamespace Метод GetRootNamespace возвращает корневое пространство имен модели данных. |
IDataModelManager::QueryInterface Метод IDataModelManager::QueryInterface извлекает указатели на поддерживаемые интерфейсы объекта . |
IDataModelManager::RegisterExtensionForTypeSignature Метод IDataModelManager::RegisterExtensionForTypeSignature регистрирует модель данных для заданной сигнатуры типа в качестве расширения. |
IDataModelManager::RegisterModelForTypeSignature Метод IDataModelManager::RegisterModelForTypeSignature регистрирует канонический визуализатор для заданной сигнатуры типа. |
IDataModelManager::RegisterNamedModel Метод IDataModelManager::RegisterNamedModel регистрирует данную модель данных под хорошо известным именем, чтобы ее было легко обнаруживать. |
IDataModelManager::Release Метод IDataModelManager::Release уменьшает количество ссылок для интерфейса объекта . |
IDataModelManager::UnregisterExtensionForTypeSignature Метод IDataModelManager::UnregisterExtensionForTypeSignature отменяет предыдущий вызов метода RegisterExtensionForTypeSignature. |
IDataModelManager::UnregisterModelForTypeSignature Метод IDataModelManager::UnregisterModelForTypeSignature отменяет предыдущий вызов метода RegisterModelForTypeSignature. |
IDataModelManager::UnregisterNamedModel Метод IDataModelManager::UnregisterNamedModel отменяет предыдущий вызов метода RegisterNamedModel. |
Комментарии
Методы создания и обработки объектов
Следующий набор методов используется для создания новых объектов или для вставки значений в IModelObject — основной интерфейс модели данных.
STDMETHOD(CreateNoValue)(_Out_ IModelObject** object) PURE;
STDMETHOD(CreateErrorObject)(_In_ HRESULT hrError,
_In_opt_ PCWSTR pwszMessage,
_COM_Outptr_ IModelObject** object) PURE;
STDMETHOD(CreateTypedObject)(_In_opt_ IDebugHostContext* context,
_In_ Location objectLocation,
_In_ IDebugHostType* objectType,
_COM_Errorptr_ IModelObject** object) PURE;
STDMETHOD(CreateTypedObjectReference)(_In_opt_ IDebugHostContext* context,
_In_ Location objectLocation,
_In_ IDebugHostType* objectType,
_COM_Errorptr_ IModelObject** object) PURE;
STDMETHOD(CreateSyntheticObject)(_In_opt_ IDebugHostContext* context,
_COM_Outptr_ IModelObject** object) PURE;
STDMETHOD(CreateDataModelObject)(_In_ IDataModelConcept* dataModel,
_COM_Outptr_ IModelObject** object) PURE;
STDMETHOD(CreateIntrinsicObject)(_In_ ModelObjectKind objectKind,
_In_ VARIANT* intrinsicData,
_COM_Outptr_ IModelObject** object) PURE;
STDMETHOD(CreateTypedIntrinsicObject)(_In_ VARIANT* intrinsicData,
_In_ IDebugHostType* type,
_COM_Outptr_ IModelObject** object) PURE;
STDMETHOD(CreateMetadataStore)(_In_opt_ IKeyStore* parentStore,
_COM_Outptr_ IKeyStore** metadataStore) PURE;
STDMETHOD(CreateTypedIntrinsicObjectEx)(_In_opt_ IDebugHostContext* context,
_In_ VARIANT* intrinsicData,
_In_ IDebugHostType* type,
_COM_Outptr_ IModelObject** object) PURE;
Требования
Требование | Значение |
---|---|
Заголовок | dbgmodel.h |