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

Création d’un fournisseur d’instances dans un fournisseur de High-Performance