IModelObject::SetConcept-Methode (dbgmodel.h)
Die SetConcept-Methode platziert ein angegebenes Konzept auf der objektinstanz, die durch diesen Zeiger angegeben wird. Wenn ein übergeordnetes Modell, das an die von dieser angegebene Objektinstanz angefügt ist, auch das Konzept unterstützt, überschreibt die Implementierung in der Instanz dies im übergeordneten Modell.
Eine Reihe von Konzepten (Schnittstellen), die vom Datenmodell unterstützt werden, finden Sie unter Debugger Data Model 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 der IID der Kernschnittstelle des Konzepts.
conceptInterface
Die Konzeptschnittstelle, die zugewiesen wird (definiert durch conceptId).
conceptMetadata
Optionale Metadaten, die diesem Konzept zugeordnet werden sollen.
Rückgabewert
Diese Methode gibt HRESULT zurück, das Erfolg oder Fehler angibt.
Bemerkungen
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 |