Partager via


IDataModelManager ::CreateDataModelObject, méthode (dbgmodel.h)

La méthode CreateDataModelObject est un wrapper d’assistance simple pour créer des objets qui sont des modèles de données, c’est-à-dire des objets qui vont être attachés en tant que modèles parents à d’autres objets. Tous ces objets doivent prendre en charge le concept de modèle de données via IDataModelConcept. Cette méthode crée un objet synthétique vide sans contexte explicite et ajoute l’IDataModelConcept passé comme implémentation du concept de modèle de données par l’objet nouvellement créé. Cela peut également être effectué avec des appels à CreateSyntheticObject et SetConcept.

Syntaxe

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

Paramètres

dataModel

Implémentation d’IDataModelConcept qui sera automatiquement ajoutée à l’objet nouvellement créé comme implémentation du concept de modèle de données.

object

L’objet synthétique nouvellement créé (avec l’ensemble de concepts du modèle de données) sera retourné ici.

Valeur retournée

Cette méthode retourne HRESULT.

Remarques

Exemple de Code

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

Configuration requise

Condition requise Valeur
En-tête dbgmodel.h

Voir aussi

Interface IDataModelManager