Funzione BindProperty (dbgmodel.h)

Gestore di associazione che converte due metodi di istanza in una classe in una funzione di accesso alle proprietà di lettura/scrittura. La classe deve essere derivata da IUnknown. Il binder restituito conterrà il riferimento all'oggetto classe.

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

Sintassi

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

Parametri

classObject

Istanza di una determinata classe a cui verrà associata la funzione di accesso alla proprietà appena creata.

getMethod

Puntatore a membro puntatore alla firma (PCWSTR, IModelObject *, IModelObject**) che fungerà da getter per la funzione di accesso alla proprietà appena creata.

setMethod

Funzione puntatore a membro della firma (PCWSTR, IModelObject *, IModelObject *) che fungerà da setter per la funzione di accesso alla proprietà appena creata.

Valore restituito

Questa funzione restituisce Microsoft::WRL::ComPtr<IModelPropertyAccessor>.

Commenti

Questo codice di esempio mostra l'utilizzo della funzione BindProperty.

Nota

L'esempio di codice usa l'intestazione della libreria DbgModelClientEx.h consigliata disponibile in GitHub. Per altre informazioni, vedere Uso della libreria DbgModelClientEx.

Per vedere come viene usata la libreria DbgModelClientEx, ad esempio, specificando gli spazi dei nomi Debugger::D ataModel, esaminare l'esempio C++ di Data Model HelloWorld: 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.

Requisiti

Requisito Valore
Intestazione dbgmodel.h

Vedi anche

Panoramica del modello di dati del debugger C++