Compartilhar via


Função BindProperty (dbgmodel.h)

Um associador que converte dois métodos de instância em uma classe em um acessador de propriedade de leitura/gravação. A classe deve ser derivada de IUnknown. O associador retornado manterá a referência no objeto de classe .

Uso: BindProperty(this, &MyClass::GetMyProperty, &MyClass::SetMyProperty)

Sintaxe

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

Parâmetros

classObject

A instância de uma determinada classe à qual o acessador de propriedade recém-criado será associado.

getMethod

Um ponteiro de função ponteiro para membro de assinatura (PCWSTR, IModelObject *, IModelObject**) que atuará como o getter para o acessador de propriedade recém-criado.

setMethod

Uma função de ponteiro para membro de assinatura (PCWSTR, IModelObject *, IModelObject *) que atuará como o setter para o acessador de propriedade recém-criado.

Retornar valor

Essa função retorna Microsoft::WRL::ComPtr<IModelPropertyAccessor>.

Comentários

Este código de exemplo mostra o uso da função BindProperty.

Observação

O exemplo de código usa o cabeçalho de biblioteca DbgModelClientEx.h recomendado disponível no GitHub. Para obter mais informações, consulte Usando a biblioteca DbgModelClientEx.

Para ver como a biblioteca DbgModelClientEx é usada, por exemplo, especificando os namespaces Debugger::D ataModel, examine o exemplo HelloWorld C++ do Modelo de Dados: 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.

Requisitos

Requisito Valor
Cabeçalho dbgmodel.h

Confira também

Visão geral do modelo de dados do depurador C++