Поделиться через


Интерфейс 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 создает представление объекта native/language в адресном пространстве целевого объекта отладки.
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

См. также

Обзор модели данных отладчика C++