Metodo IModelObject::SetConcept (dbgmodel.h)

Il metodo SetConcept inserisce un concetto specificato nell'istanza dell'oggetto specificata dal puntatore. Se un modello padre collegato all'istanza dell'oggetto specificato da questo supporta anche il concetto, l'implementazione nell'istanza eseguirà l'override del modello padre.

Per il set di concetti (interfacce) supportati dal modello di dati, vedere Concetti relativi al modello di dati del debugger C++.

Per informazioni sull'interfaccia IKeyStore , vedere Interfaccia IKeyStore.

Sintassi

HRESULT SetConcept(
  REFIID    conceptId,
  IUnknown  *conceptInterface,
  IKeyStore *conceptMetadata
);

Parametri

conceptId

Identificatore univoco del concetto assegnato. Questo è anche l'IID dell'interfaccia principale del concetto.

conceptInterface

Interfaccia del concetto assegnata (definita da conceptId).

conceptMetadata

Metadati facoltativi da associare a questo concetto.

Valore restituito

Questo metodo restituisce HRESULT che indica l'esito positivo o l'errore.

Commenti

Codice di esempio

ComPtr<IModelObject> spObject; /* get an object: say a new one from CreateSyntheticObject */

// Implement IStringDisplayableConcept for the object.  Return a static "Hello World" string.
class MyStringConversion :
    public Microsoft::WRL::RuntimeClass<
        Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::RuntimeClassType::ClassicCom>,
        IStringDisplayableConcept
        >
{
public:

    IFACEMETHOD(ToDisplayString)(_In_ IModelObject * /*pContextObject*/, 
                                 _In_opt_ IKeyStore * /*pMetadata*/, 
                                 _Out_ BSTR *pDisplayString)
    {
        *pDisplayString = SysAllocString(L"Hello World");
        return *pDisplayString == nullptr ? E_OUTOFMEMORY : S_OK;
    }
};

// Add the implementation as a concept
ComPtr<MyStringConversion> spStringConverter = Microsoft::WRL::Make<MyStringConversion>();
if (spStringConverter != nullptr)
{
    if (SUCCEEDED(spObject->SetConcept(__uuidof(IStringDisplayableConcept),
                                       static_cast<IStringDisplayableConcept *>
                                           (spStringConverter.Get()), nullptr)))
    {
        // The new object can be converted to a string! 
    }
}

Requisiti

Requisito Valore
Intestazione dbgmodel.h

Vedi anche

Concetti relativi al modello di dati del debugger C++

Interfaccia IKeyStore

Interfaccia IModelObject