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 adjunto a la instancia de objeto especificada por esto también admite el concepto, la implementación de la instancia invalidará la del modelo primario.

Para ver el conjunto de conceptos (interfaces) admitidos por el modelo de datos, consulte Conceptos del modelo de datos del depurador de C++.

Para obtener información sobre la interfaz IKeyStore, consulte 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 van a asociar a este concepto.

Valor devuelto

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

Observaciones

de ejemplo de código de

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
encabezado de dbgmodel.h

Consulte también

conceptos del modelo de datos del depurador de C++

de la interfaz IKeyStore de

interfaz IModelObject