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 derivada de IUnknown. El enlazador devuelto contendrá una 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

Puntero a función miembro de 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>.

Observaciones

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 Using the DbgModelClientEx Library.

Para ver cómo se usa la biblioteca DbgModelClientEx, por ejemplo, especificando los espacios de nombres Debugger::D ataModel, revise el ejemplo helloWorld del modelo de datos: 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
encabezado de dbgmodel.h

Consulte también

información general del modelo de datos del depurador de C++