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