BindProperty, fonction (dbgmodel.h)
Classeur qui convertit deux méthodes d’instance sur une classe en accesseur de propriété en lecture/écriture. La classe doit être dérivée d’IUnknown. Le classeur retourné contiendra la référence sur l’objet de classe.
Utilisation : BindProperty(this, &MyClass ::GetMyProperty, &MyClass ::SetMyProperty)
Syntaxe
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
);
Paramètres
classObject
Instance d’une classe donnée à laquelle l’accesseur de propriété nouvellement créé sera lié.
getMethod
Pointeur de fonction pointeur vers membre de signature (PCWSTR, IModelObject *, IModelObject**) qui agit comme getter pour l’accesseur de propriété nouvellement créé.
setMethod
Fonction pointeur à membre de signature (PCWSTR, IModelObject *, IModelObject *) qui agit comme setter pour l’accesseur de propriété nouvellement créé.
Valeur de retour
Cette fonction retourne Microsoft ::WRL ::ComPtr<IModelPropertyAccessor>.
Remarques
Cet exemple de code montre l’utilisation de la fonction BindProperty.
Note
L’exemple de code utilise l’en-tête de bibliothèque DbgModelClientEx.h recommandé disponible à partir de GitHub. Pour plus d’informations, consultez Utilisation de la bibliothèque DbgModelClientEx.
Pour voir comment la bibliothèque DbgModelClientEx est utilisée, par exemple, en spécifiant les espaces de noms Debugger ::D ataModel, passez en revue l’exemple HelloWorld C++ du modèle de données : 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.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | dbgmodel.h |
Voir aussi
Vue d’ensemble du modèle de données du débogueur C++