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 |