Compartir a través de


Método IModelObject::SetConcept (dbgmodel.h)

El método SetConcept colocará un concepto especificado en la instancia de objeto especificada por este puntero. Si un modelo primario asociado a la instancia de objeto especificada por esto también admite el concepto, la implementación de la instancia invalidará eso en el modelo primario.

Para conocer el conjunto de conceptos (interfaces) compatibles con el modelo de datos, consulte Conceptos de C++ del modelo de datos del depurador.

Para obtener información sobre la interfaz IKeyStore , vea Interfaz IKeyStore.

Sintaxis

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

Parámetros

conceptId

Identificador único del concepto que se va a asignar. También es el IID de la interfaz principal del concepto.

conceptInterface

Interfaz de concepto que se asigna (definida por conceptId).

conceptMetadata

Metadatos opcionales que se asociarán a este concepto.

Valor devuelto

Este método devuelve HRESULT que indica éxito o error.

Comentarios

Ejemplo de código

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

Requisitos

Requisito Valor
Header dbgmodel.h

Consulte también

Conceptos de C++ del modelo de datos del depurador

Interfaz IKeyStore

Interfaz IModelObject