IModelObject::SetConcept-Methode (dbgmodel.h)

Die SetConcept-Methode platziert ein angegebenes Konzept auf dem Objekt instance, das durch diesen Zeiger angegeben wird. Wenn ein übergeordnetes Modell, das an das Objekt angefügt instance, auch das Konzept unterstützt, überschreibt die Implementierung im instance dies im übergeordneten Modell.

Informationen zum Satz von Konzepten (Schnittstellen), die vom Datenmodell unterstützt werden, finden Sie unter Debuggerdatenmodell-C++-Konzepte.

Informationen zur IKeyStore-Schnittstelle finden Sie unter IKeyStore-Schnittstelle.

Syntax

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

Parameter

conceptId

Der eindeutige Bezeichner des zugewiesenen Konzepts. Dies ist auch die IID der Kernschnittstelle des Konzepts.

conceptInterface

Die zugewiesene Konzeptschnittstelle (definiert durch conceptId).

conceptMetadata

Optionale Metadaten, die diesem Konzept zugeordnet werden sollen.

Rückgabewert

Diese Methode gibt HRESULT zurück, das auf Erfolg oder Fehler hinweist.

Hinweise

Codebeispiel

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! 
    }
}

Anforderungen

Anforderung Wert
Header dbgmodel.h

Weitere Informationen

Debuggerdatenmodell-C++-Konzepte

IKeyStore-Schnittstelle

IModelObject-Schnittstelle