IDataModelManager interface (dbgmodel.h)
The core interface for the data model manager. This is the interface by which new objects are created, intrinsic values are boxed and unboxed, and models are registered for types.
This interface is never directly implemented by a client.
Inheritance
IDataModelManager inherits from IUnknown.
Methods
The IDataModelManager interface has these methods.
IDataModelManager::AcquireNamedModel This looks up a well known model name and returns the data model registered by that name. |
IDataModelManager::AddRef The AddRef method increments the reference count for an interface on an object. This method belongs to the IDataModelManager interface. |
IDataModelManager::Close The Close method is called on the data model manager by an application e.g. debugger hosting the data model in order to start the shutdown process of the data model manager. |
IDataModelManager::CreateDataModelObject The IDataModelManager::CreateDataModelObject method is a simple helper wrapper for creating objects that are data models. |
IDataModelManager::CreateErrorObject The CreateErrorObject method creates an "error object". The data model does not have the notion of exceptions and exception flow. |
IDataModelManager::CreateIntrinsicObject The CreateIntrinsicObject method is the method which boxes intrinsic values into IModelObject. The caller places the value in a COM VARIANT and calls this method. |
IDataModelManager::CreateMetadataStore The IDataModelManager::CreateMetadataStore method creates a key store that is used to hold metadata that can be associated with properties and other values. |
IDataModelManager::CreateNoValue The CreateNoValue method creates a "no value" object, boxes it into an IModelObject, and returns it. The returned model object has a kind of ObjectNoValue. |
IDataModelManager::CreateSyntheticObject The IDataModelManager::CreateSyntheticObject method creates an empty data model object that is a dictionary of key/value/metadata tuples and concepts. |
IDataModelManager::CreateTypedIntrinsicObject The IDataModelManager::CreateTypedIntrinsicObject method boxes intrinsic values together with a native/language type association into IModelObject. |
IDataModelManager::CreateTypedObject The IDataModelManager::CreateTypedObject method creates a representation of a native/language object in the address space of a debug target. |
IDataModelManager::CreateTypedObjectReference The IDataModelManager::CreateTypedObjectReference method creates a reference to an underlying native/language construct. |
IDataModelManager::GetModelForType The IDataModelManager::GetModelForType method returns the data model that is the canonical visualizer for a given type instance. |
IDataModelManager::GetModelForTypeSignature The IDataModelManager::GetModelForTypeSignature method returns the data model that was previously registered for a given type signature. |
IDataModelManager::GetRootNamespace The GetRootNamespace method returns the data model's root namespace. |
IDataModelManager::QueryInterface The IDataModelManager::QueryInterface method retrieves pointers to the supported interfaces on an object. |
IDataModelManager::RegisterExtensionForTypeSignature The IDataModelManager::RegisterExtensionForTypeSignature method registers a data model for a given type signature as an extension. |
IDataModelManager::RegisterModelForTypeSignature The IDataModelManager::RegisterModelForTypeSignature method registers a canonical visualizer for a given type signature. |
IDataModelManager::RegisterNamedModel The IDataModelManager::RegisterNamedModel method registers a given data model under a well known name so that it is easily discoverable. |
IDataModelManager::Release The IDataModelManager::Release method decrements the reference count for an interface on an object. |
IDataModelManager::UnregisterExtensionForTypeSignature The IDataModelManager::UnregisterExtensionForTypeSignature method undoes a prior call to the RegisterExtensionForTypeSignature method. |
IDataModelManager::UnregisterModelForTypeSignature The IDataModelManager::UnregisterModelForTypeSignature method undoes a prior call to the RegisterModelForTypeSignature method. |
IDataModelManager::UnregisterNamedModel The IDataModelManager::UnregisterNamedModel method undoes a prior call to the RegisterNamedModel method. |
Remarks
Object Creation / Boxing Methods
The following set of methods is used to create new objects or to box values into an IModelObject -- the core interface of the data model.
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;
Requirements
Requirement | Value |
---|---|
Header | dbgmodel.h |