Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Привязка, которая преобразует два метода экземпляра класса в метод доступа к свойствам чтения и записи. Класс должен быть производным от IUnknown. Возвращаемый привязка будет содержать ссылку на объект класса.
Использование: BindProperty(this, &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**), который будет выступать в качестве метода получения для созданного метода доступа к свойствам.
setMethod
Функция сигнатуры (PCWSTR, IModelObject *, IModelObject *), которая будет выступать в качестве метода задания для созданного метода доступа к свойствам.
Возвращаемое значение
Эта функция возвращает Microsoft::WRL::ComPtr<IModelPropertyAccessor>.
Замечания
В этом примере кода показано использование функции BindProperty.
Заметка
В примере кода используется рекомендуемый заголовок библиотеки DbgModelClientEx.h, доступный на сайте GitHub. Дополнительные сведения см. в разделе Использование библиотеки DbgModelClientEx.
Чтобы узнать, как используется библиотека DbgModelClientEx, например указание пространств имен Отладчика::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.
Требования
| Требование | Ценность |
|---|---|
| заголовка | dbgmodel.h |
См. также
Обзор модели данных отладчика C++