(dbgmodel.h) 的 IDataModelManager 接口

数据模型管理器的核心接口。 这是一个接口,通过该接口创建新对象,将内部值装箱和取消装箱,并为类型注册模型。

此接口永远不会由客户端直接实现。

继承

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 中,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;

要求

要求
Header dbgmodel.h

另请参阅

调试器数据模型 C++ 概述