Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Основной интерфейс для диспетчера моделей данных. Это интерфейс, с помощью которого создаются новые объекты, встроенные значения регистрируются и распаковываются, а модели регистрируются для типов.
Этот интерфейс никогда не реализуется клиентом напрямую.
Наследство
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++