BindProperty 函数 (dbgmodel.h)

一个绑定器,用于将类上的两个实例方法转换为读/写属性访问器。 类必须是 IUnknown 派生的。 返回的绑定器将保留对类对象的引用。

用法:BindProperty(此文,&MyClass::GetMyProperty,&MyClass::SetMyProperty)

语法

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
);

参数

classObject

将新创建的属性访问器绑定到的给定类的实例。

getMethod

签名(PCWSTR、IModelObject *、IModelObject**)的指针到成员函数指针,它将充当新创建的属性访问器的 getter。

setMethod

签名(PCWSTR、IModelObject *、IModelObject *)的指针到成员函数,它将充当新创建的属性访问器的 setter。

返回值

此函数返回Microsoft::WRL::ComPtr<IModelPropertyAccessor>。

言论

此示例代码显示 BindProperty 函数的用法。

注意

该代码示例使用 GitHub 提供的推荐 DbgModelClientEx.h 库标头。 有关详细信息,请参阅 使用 DbgModelClientEx 库

若要查看 DbgModelClientEx 库的使用方式,例如,指定 Debugger::D ataModel 命名空间,请查看数据模型 HelloWorld 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.

要求

要求 价值
标头 dbgmodel.h

另请参阅

调试器数据模型C++概述