Condividi tramite


Metodo IDataModelManager::CreateDataModelObject (dbgmodel.h)

Il metodo CreateDataModelObject è un wrapper helper semplice per creare oggetti che sono modelli di dati, ovvero oggetti che verranno associati come modelli padre ad altri oggetti. Tutti questi oggetti devono supportare il concetto di modello di dati tramite IDataModelConcept. Questo metodo crea un nuovo oggetto sintetico vuoto senza contesto esplicito e aggiunge l'oggetto IDataModelConcept aggiunto come implementazione dell'oggetto appena creato del concetto di modello di dati. Questa operazione può essere eseguita in modo analogo con le chiamate a CreateSyntheticObject e SetConcept.

Sintassi

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

Parametri

dataModel

Implementazione di IDataModelConcept che verrà aggiunta automaticamente all'oggetto appena creato come implementazione del concetto di modello di dati.

object

L'oggetto sintetico appena creato (con il set di concetti del modello di dati) verrà restituito qui.

Valore restituito

Questo metodo restituisce HRESULT.

Commenti

Codice di esempio

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

Requisiti

Requisito Valore
Intestazione dbgmodel.h

Vedi anche

Interfaccia IDataModelManager