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++