Compartir a través de


Función BindProperty (dbgmodel.h)

Enlazador que convierte dos métodos de instancia en una clase en un descriptor de acceso de propiedad de lectura y escritura. La clase debe ser IUnknown derivada. El enlazador devuelto contendrá la referencia en el objeto de clase.

Uso: BindProperty(this, &MyClass::GetMyProperty, &MyClass::SetMyProperty)

Sintaxis

Microsoft::WRL::ComPtr<IModelPropertyAccessor> BindProperty(
  T                                                                           *classObject,
  HRESULT(T::* )(PCWSTR key,IModelObject *contextObject,IModelObject **value) getMethod,
  HRESULT(T::* )(PCWSTR key,IModelObject *contextObject,IModelObject **value) setMethod
);

Parámetros

classObject

Instancia de una clase determinada a la que se enlazará el descriptor de acceso de propiedad recién creado.

getMethod

Un puntero de función de puntero a miembro de la firma (PCWSTR, IModelObject *, IModelObject**) que actuará como captador para el descriptor de acceso de propiedad recién creado.

setMethod

Función de puntero a miembro de la firma (PCWSTR, IModelObject *, IModelObject *), que actuará como establecedor para el descriptor de acceso de propiedad recién creado.

Valor devuelto

Esta función devuelve Microsoft::WRL::ComPtr<IModelPropertyAccessor>.

Comentarios

Este código de ejemplo muestra el uso de la función BindProperty.

Nota

El ejemplo de código usa el encabezado de biblioteca DbgModelClientEx.h recomendado disponible en GitHub. Para obtener más información, vea Uso de la biblioteca DbgModelClientEx.

Para ver cómo se usa la biblioteca DbgModelClientEx, por ejemplo, especificando los espacios de nombres Debugger::D ataModel, revise el ejemplo HelloWorld de Modelo de datos HelloWorld de C++: https://github.com/microsoft/WinDbg-Samples/tree/master/DataModelHelloWorld/Cpp

// Define a native type that we wish to project into the data model
struct MyNativeType
{
    std::wstring Name;
    int Id;
    int WriteableValue;
};

// Declare a type factory for the type
class MyNativeTypeFactory : public TypedInstanceModel<MyNativeType>
{
public:
    MyNativeTypeFactory()
    {
        BindReadOnlyProperty(L"Name", &MyNativeType::Name);
        BindReadOnlyProperty(L"Id", &MyNativeType::Id);
        BindProperty(L"WriteableValue", &MyNativeType::WriteableValue);
    }
};

// Create the type factory and make an instance
MyNativeTypeFactory factory;
Object instance = factory.CreateInstance(MyNativeType { L"Foo", 42, 37 });

// There are "Name/Id" read-only properties on instance and a "WriteableValue" property.

Requisitos

Requisito Valor
Header dbgmodel.h

Consulte también

Información general sobre el modelo de datos del depurador de C++