IDataModelManager::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

こちらもご覧ください

IDataModelManager インターフェイス