IDataModelManager2::CreateDataModelObject-Methode (dbgmodel.h)

Die CreateDataModelObject-Methode ist ein einfacher Hilfswrapper zum Erstellen von Objekten, bei denen es sich um Datenmodelle handelt – also Objekte, die als übergeordnete Modelle an andere Objekte angefügt werden. Alle solchen Objekte müssen das Datenmodellkonzept über IDataModelConcept unterstützen. Diese Methode erstellt ein neues leeres synthetisches Objekt ohne expliziten Kontext und fügt das in passierte IDataModelConcept als Implementierung des Datenmodellkonzepts des neu erstellten Objekts hinzu. Dies kann auch mit Aufrufen von CreateSyntheticObject und SetConcept erreicht werden.

Syntax

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

Parameter

dataModel

Die Implementierung von IDataModelConcept , die automatisch dem neu erstellten Objekt als Implementierung des Datenmodellkonzepts hinzugefügt wird.

object

Das neu erstellte synthetische Objekt (mit dem Datenmodellkonzeptsatz) wird hier zurückgegeben.

Rückgabewert

Diese Methode gibt HRESULT zurück.

Hinweise

Beispielcode

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

Anforderungen

Anforderung Wert
Header dbgmodel.h

Weitere Informationen

IDataModelManager2-Schnittstelle