共用方式為


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

另請參閱

調試程序數據模型 C++ 概觀