다음을 통해 공유


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().
    }
}

요구 사항

요구 사항
헤더 dbgmodel.h

추가 정보

IDataModelManager2 인터페이스