Description d’un chemin d’accès d’un objet d’instance
Un chemin d’accès à l’objet d’instance décrit l’emplacement d’une instance d’une classe donnée dans un espace de noms spécifique.
Vous pouvez avoir plusieurs types de chemins d’accès aux objets d’instance :
Complète
Un chemin d’accès à l’objet d’instance complète ajoute le nom et la valeur de la propriété key pour la classe à un chemin d’accès d’objet de classe complète.
L’exemple suivant montre la définition du chemin d’accès de l’objet d’instance complète.
\\Server\Namespace:Class.KeyName="KeyValue"
Relatif
Un chemin d’objet relatif fait référence à une instance située dans l’espace de noms actuel sur le serveur actuel. Le chemin relatif se compose du nom de la classe suivi des noms et des valeurs des propriétés de clé de cette instance.
L’exemple suivant montre la définition du chemin d’accès de l’objet d’instance relative.
MyClass.MyProp="e:"
Relatif avec une seule clé
Pour les classes avec une seule propriété désignée comme clé, vous pouvez omettre le nom de la propriété de clé.
L’exemple suivant montre la définition du chemin d’accès de l’objet d’instance relative avec une seule clé.
MyClass="e:"
Relative avec plusieurs clés
Utilisez une virgule pour faire la distinction entre les clés d’une instance avec plusieurs clés.
L’exemple suivant montre les définitions du chemin d’accès de l’objet d’instance relative avec plusieurs clés.
MyOtherClass.FirstKey=1,SecondKey=2
Relative pour une classe singleton
Le chemin d’accès de l’objet relatif pour une classe singleton se compose du nom de classe suivi de la notation « =@ ».
L’exemple suivant montre la définition du chemin d’accès de l’objet d’instance relative pour une classe singleton.
MySingletonClass=@
La procédure suivante décrit comment récupérer une instance de classe.
Pour récupérer une instance de classe
Initialisez une chaîne qui contient le chemin d’accès de l’objet avec un appel à la fonction SysAllocString .
Initialisez un objet qui recevra l’instance.
Récupérez l’objet avec un appel à IWbemServices::GetObject ou IWbemServices::GetObjectAsync.
Pour utiliser GetObjectAsync, vous devez implémenter l’interface IWbemSink .
L’instruction #include suivante est requise pour que le code répertorié plus loin dans cette rubrique soit compilé correctement.
#include <wbemidl.h>
L’exemple de code suivant décrit comment récupérer une instance de classe à l’aide d’un chemin d’objet.
IWbemServices* pWbemSvcs = 0;
BSTR Path = SysAllocString(L"ComPort=2");
IWbemClassObject *pComPort = 0;
pWbemSvcs->GetObject(Path, 0, 0, &pComPort, 0);
Pour les instances de classes qui spécifient plusieurs propriétés comme clé, WMI ne nécessite aucun ordre spécifique des propriétés de clé dans les chemins d’objet. Vous devez uniquement spécifier la valeur de chacune des propriétés dans le chemin d’accès de l’objet.
L’exemple de code suivant décrit deux descriptions de clés équivalentes.
MyClass.IntVal=33,StrVal="AAA"
MyClass.StrVal="AAA",IntVal=33