IDataModelManager::CreateDataModelObject-Methode (dbgmodel.h)

Die CreateDataModelObject-Methode ist ein einfacher Hilfswrapper zum Erstellen von Objekten, die Datenmodelle sind, also Objekte, die als übergeordnete Modelle an andere Objekte angefügt werden. Alle diese Objekte müssen das Datenmodellkonzept über IDataModelConcept unterstützen. Diese Methode erstellt ein neues leeres synthetisches Objekt ohne expliziten Kontext und fügt das inpassierte IDataModelConcept als implementierung des neu erstellten Objekts des Datenmodellkonzepts hinzu. Dies kann auch durch Aufrufe von CreateSyntheticObject und SetConcept erreicht werden.

Syntax

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

Parameter

dataModel

Die Implementierung von IDataModelConcept , die dem neu erstellten Objekt automatisch 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

IDataModelManager-Schnittstelle