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 |