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.
要求
要求 | 值 |
---|---|
Header | dbgmodel.h |