J'avoue que la question meme est complexe surtout que je ne maitrise pas vraiment tous les apects WMI, je vais donc essayer de faire quelque chose de claire et d'ilustré...
Voici l'archi WMI
Tout en bas on trouve des providers et plus particulierement le CIMV2 (services des monitoring de performances), il est possible d'utiliser des compteurs de perfs préexistant comme Win32_PerfRawData_PerfDisk_LogicalDisk par exemple.
Il est aussi possibel de créé sont propre compteur de performance a la sauce perfmon (j'ai un code d'exemple fourni pas crosoft mais je n'ai plus le liens :/). le compteur que l'on cré vient, dans l'architecture, sous les WMI provider, il est reconnu et identifié par le provider CimV2. C'est le processus ADAP qui se charge de mettre notre "managed object" (rien a voir avec les framework .NET) dasn le repository WMI pour que les providers puissent l'utiliser.
Avec cette methode on peut don créé un compteur de performance personalisé., masi qui doit suivre le template des compterus perfom (inscription dans la base de registre, interfaces COM predefinies...)
Deuxieme solution pour faire ce que l'on veut de A à Z ecrire le provider qui va avec l'objet managé, c'est long et lourd
Je suis sonc a la recherche de la troisieme solution...
Ecrire un object managé qui serai reconnu par ADAP, avec des interfaceq que je determine et non des interfaces impossées. En fait j'aimerai créé une classe du meme type que celle que l'on utilise avec WMI, comme Win32_PerfRawData_PerfDisk_LogicalDisk, qui s'appelrai Win32_PerfRawData_MesPerf par exemple. Ou les donées exportées on le type que je veux.
Voilà désolé pour le pavé, je ne cherche pas forcement un bout de code/exemple (bien que ça serait pas mal :p, mais au moins le certitude de la faisabilté, ou non, de la chose).
Partager