IDataModelManager2::CreateDataModelObject 方法 (dbgmodel.h)

CreateDataModelObject 方法是一个简单的帮助程序包装器,用于创建数据模型对象,即作为父模型附加到其他对象的对象。 所有此类对象都必须通过 IDataModelConcept 支持数据模型概念。 此方法创建没有显式上下文的新空白合成对象,并将传入的 IDataModelConcept 添加为新创建的数据模型概念对象的实现。 这同样可以通过调用 CreateSyntheticObject 和 SetConcept 来实现。

语法

HRESULT CreateDataModelObject(
  IDataModelConcept *dataModel,
  IModelObject      **object
);

参数

dataModel

IDataModelConcept 的实现,该实现将作为数据模型概念的实现自动添加到新创建的对象。

object

将在此处返回具有数据模型概念集 () 新建的合成对象。

返回值

此方法返回 HRESULT。

注解

示例代码

ComPtr<IDataModelManager> spManager; /* get the data model manager */

// We need some IDataModelConcept implementation.  Provide a 
// minimal one for example purposes.
class MyDataModel :
    public Microsoft::WRL::RuntimeClass<
        Microsoft::WRL::RuntimeClassFlags<
            Microsoft::WRL::RuntimeClassType::ClassicCom
            >,
        IDataModelConcept
        >
{
public:

    IFACEMETHOD(InitializeObject)(
        _In_ IModelObject * /*pContextObject*/, 
        _In_opt_ IDebugHostTypeSignature * /*pMatchingSignature*/, 
        _In_opt_ IDebugHostSymbolEnumerator * /*pWildcardMatches*/
        )
    {
        return S_OK;
    }

    IFACEMETHOD(GetName)(_Out_ BSTR *pModelName)
    {
        *pModelName = nullptr;
        return E_NOTIMPL;
    }
};

ComPtr<MyDataModel> spMyModel = Microsoft::WRL::Make<MyDataModel>();
if (spMyModel != nullptr)
{
    ComPtr<IModelObject> spDataModelObject;
    if (SUCCEEDED(spManager->CreateDataModelObject(spMyModel.Get(),
                                                   &spDataModelObject)))
    {
        // spDataModelObject is now a data model object and can be attached
        // as a parent to any other object via AddParentModel().
    }
}

要求

要求
Header dbgmodel.h

另请参阅

IDataModelManager2 接口