Fungsi BindProperty (dbgmodel.h)

Pengikat yang mengonversi dua metode instans pada kelas menjadi pengaktor properti baca/tulis. Kelas harus berasal dari IUnknown. Pengikat yang dikembalikan akan menyimpan referensi pada objek kelas.

Penggunaan: BindProperty(ini, &MyClass::GetMyProperty, &MyClass::SetMyProperty)

Sintaks

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

Parameter

classObject

Instans kelas tertentu tempat pengaktor properti yang baru dibuat akan terikat.

getMethod

Pointer-to-member function pointer of signature (PCWSTR, IModelObject *, IModelObject**) yang akan bertindak sebagai getter untuk pengakses properti yang baru dibuat.

setMethod

Fungsi tanda tangan pointer-to-member (PCWSTR, IModelObject *, IModelObject *) yang akan bertindak sebagai setter untuk pengakses properti yang baru dibuat.

Nilai kembali

Fungsi ini mengembalikan Microsoft::WRL::ComPtr<IModelPropertyAccessor>.

Keterangan

Kode sampel ini menunjukkan penggunaan fungsi BindProperty.

Catatan

Sampel kode menggunakan header pustaka DbgModelClientEx.h yang direkomendasikan yang tersedia dari GitHub. Untuk informasi selengkapnya, lihat Menggunakan Pustaka DbgModelClientEx.

Untuk melihat bagaimana pustaka DbgModelClientEx digunakan, misalnya, menentukan namespace Debugger::D ataModel, tinjau sampel 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.

Persyaratan

Persyaratan Nilai
Header dbgmodel.h

Lihat juga

Gambaran Umum Model Data Debugger C++