IModelObject::GetConcept 方法 (dbgmodel.h)

GetConcept 方法将搜索对象(或其父模型链)上的概念,并返回指向概念接口的接口指针。 概念接口的行为和方法特定于每个概念。 但是,请务必注意,许多概念接口要求调用方显式传递上下文对象(或传统上可能调用此指针的内容)。 请务必确保将正确的上下文对象传递给每个概念接口。

语法

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

参数

conceptId

要查询的概念的唯一标识符。 这也是概念的核心接口的 IID。

conceptInterface

概念 Id 定义的接口将在此参数中返回。

conceptMetadata

与此概念关联的元数据存储将在此参数中选择性地返回

返回值

此方法返回指示成功或失败的 HRESULT。

言论

代码示例

ComPtr<IModelObject> spObject; /* get some object */

// Get the string conversion of spObject through the string displayable concept:
ComPtr<IStringDisplayableConcept> spStringDisplayable;
if (SUCCEEDED(spObject->GetConcept(__uuidof(IStringDisplayableConcept), 
                                   &spStringDisplayable, 
                                   nullptr)))
{
    BSTR stringConversion;
    if (SUCCEEDED(spStringDisplayable->ToDisplayString(spObject.Get(), 
                                                       nullptr, 
                                                       &stringConversion)))
    {
        // stringConversion contains the display string conversion for the object
        SysFreeString(stringConversion);
    }
}

要求

要求 价值
标头 dbgmodel.h

另请参阅

IModelObject 接口