Prise en charge des opérations de Partial-Instance
Un fournisseur n’est pas nécessaire pour prendre en charge les opérations d’instance partielle. Toutefois, un fournisseur doit prendre en charge toute la sémantique d’une opération d’instance partielle, traiter une instance complète ou retourner WBEM\_E\_UNSUPPORTED\_PARAMETER.
Lorsque vous créez un fournisseur qui prend en charge les opérations d’instance partielle, vous devez respecter les règles suivantes :
- Réutilisez le même objet de contexte que WMI envoie au fournisseur. WMI utilise la valeur nommée « __GET_EXT_CLIENT_REQUEST » pour éviter les interblocages et supprime ce client avant de transférer l’objet de contexte à un fournisseur.
- Pour les appels réentrants dans WMI qui ne nécessitent pas d’opération d’instance partielle, veillez à renvoyer le même objet de contexte sans aucune modification. WMI reçoit l’objet de contexte sans le jeu de valeurs nommées « __GET_EXT_CLIENT_REQUEST » et supprime toutes les valeurs nommées associées aux opérations de instance partielle de l’objet de contexte avant de le transmettre à d’autres fournisseurs. Le fait de ne pas modifier l’objet de contexte empêche d’autres fournisseurs de recevoir des opérations de récupération d’instance partielle destinées à un autre objet non lié.
- Pour effectuer une opération de instance partielle lors de l’exécution d’une demande, définissez la valeur nommée et la propriété « __GET_EXT_CLIENT_REQUEST » manquantes. Si vous le souhaitez, vous pouvez modifier les propriétés dans la valeur nommée « __GET_EXT_PROPERTIES » avant de renvoyer l’objet de contexte dans WMI avec l’appel entrant.
- N’accédez pas à l’objet de contexte après l’avoir retourné à WMI lors d’un appel d’entrée ; d’autres fournisseurs peuvent modifier les listes de propriétés ou d’autres valeurs pendant la réentrance. Vous pouvez examiner ou modifier l’objet de contexte uniquement pendant la durée de l’appel IWbemServices que vous implémentez.