Метод IModelObject::SetConcept (dbgmodel.h)
Метод SetConcept поместит указанную концепцию на экземпляр объекта, указанный этим указателем. Если родительская модель, присоединенная к экземпляру объекта, заданному этим параметром, также поддерживает эту концепцию, реализация в экземпляре переопределит ее в родительской модели.
Набор понятий (интерфейсов), поддерживаемых моделью данных, см. в разделе Основные понятия модели данных отладчика C++.
Дополнительные сведения об интерфейсе IKeyStore см. в разделе Интерфейс IKeyStore.
Синтаксис
HRESULT SetConcept(
REFIID conceptId,
IUnknown *conceptInterface,
IKeyStore *conceptMetadata
);
Параметры
conceptId
Уникальный идентификатор назначаемой концепции. Это также IID основного интерфейса концепции.
conceptInterface
Назначаемый концептуальный интерфейс (определяется conceptId).
conceptMetadata
Необязательные метаданные, связанные с этой концепцией.
Возвращаемое значение
Этот метод возвращает HRESULT, который указывает на успех или сбой.
Комментарии
Образец кода
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!
}
}
Требования
Требование | Значение |
---|---|
Заголовок | dbgmodel.h |