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 命名空間,請檢閱 Data Model 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 |