Implémentation de l’interface High-Performance
Étant donné que WMI charge un fournisseur de haute performance dans le processus vers WMI ou une application cliente, vous devez concevoir votre fournisseur hautes performances en tant que serveur in-process. En outre, vous devez implémenter les méthodes de fournisseur de haute performance dans les interfaces IWbemHiPerfProvider et IWbemRefresher .
Vous devez implémenter un fournisseur de haute performance en tant que serveur in-process. L’une des fonctionnalités que vous devez prendre en compte lors de l’implémentation de la sécurité d’un serveur in-process est la manière dont le fournisseur identifie son propre emplacement. Lorsqu’il est chargé dans le processus de WMI, WMI instancie le fournisseur à l’aide d’un CLSID. Lorsqu’il est chargé en cours de traitement dans une application cliente, l’application cliente instancie le fournisseur avec la propriété ClientLoadableCLSID . En attribuant des valeurs différentes à un CLSID et à ClientLoadableCLSID, vous autorisez le fournisseur à déterminer s’il est chargé dans le processus vers WMI ou vers une application cliente. Si elle se trouve dans un processus WMI, le fournisseur doit effectuer l’emprunt d’identité du client nécessaire à l’aide de ClientLoadableCLSID. Si elle se trouve dans un processus client, le fournisseur hérite du jeton d’accès du thread sur lequel elle est appelée. Pour plus d’informations sur l’implémentation d’un serveur in-process, consultez la section com de MSDN.
En tant que serveur in-process, un fournisseur de haute performance utilise un objet actualisateur pour conserver les données à jour pour le client distant. Le tableau suivant répertorie les méthodes que vous devez implémenter pour un fournisseur à hautes performances.
| Méthode | Fonctionnalité |
|---|---|
| IWbemHiPerfProvider :: QueryInstances | Requêtes |
| IWbemHiPerfProvider :: GetObjects | Récupération d’objets |
| IWbemHiPerfProvider :: CreateRefresher | Crée un actualisateur |
| IWbemHiPerfProvider :: CreateRefreshableObject | Crée un objet d’instance actualisable |
| IWbemHiPerfProvider :: CreateRefreshableEnum | Crée un énumérateur actualisable |
| IWbemHiPerfProvider :: StopRefreshing | Arrête l’actualisation d’un objet énumérateur ou d’instance |
| IWbemRefresher :: Refresh | Crée un actualisateur |