Implémentation de l’interface haute performance
Étant donné que WMI charge un fournisseur haute performance dans le processus de WMI ou d’une application cliente, vous devez concevoir votre fournisseur haute performance comme un serveur en processus. De plus, vous devez implémenter les méthodes du fournisseur haute performance dans les interfaces IWbemHiPerfProvider et IWbemRefresher.
Vous devez implémenter un fournisseur haute performance comme un serveur en processus. Une caractéristique dont vous devez être conscient lors de la mise en œuvre de la sécurité d’un serveur en processus est la manière dont le fournisseur identifie sa propre localisation. Lorsqu’il est chargé dans le processus de WMI, WMI instancie le fournisseur en utilisant un CLSID. Lorsqu’il est chargé dans le processus d’une application cliente, l’application cliente instancie le fournisseur avec la propriété ClientLoadableCLSID. En donnant des valeurs différentes à un CLSID et ClientLoadableCLSID, vous permettez au fournisseur de déterminer s’il est chargé dans le processus de WMI ou d’une application cliente. S’il se trouve dans un processus WMI, le fournisseur doit faire toute usurpation de client nécessaire en utilisant ClientLoadableCLSID. S’il se trouve dans un processus client, le fournisseur hérite du jeton d’accès du thread sur lequel il est appelé. Pour plus d’informations sur la mise en œuvre d’un serveur en processus, veuillez consulter la documentation du Component Object Model (COM).
En tant que serveur en processus, un fournisseur haute performance utilise un objet rafraîchissant pour maintenir les données à jour pour le client distant. Le tableau suivant liste les méthodes que vous devez implémenter pour un fournisseur haute performance.
Method | Fonctionnalité |
---|---|
IWbemHiPerfProvider::QueryInstances | Requêtes |
IWbemHiPerfProvider::GetObjects | Récupération d’objet |
IWbemHiPerfProvider::CreateRefresher | Crée un actualiseur |
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 énumérateur ou d’un objet d’instance |
IWbemRefresher::Refresh | Crée un actualiseur |
Rubriques connexes