All pastes #170306 Raw Edit

Quelqu'un

public text v1 · immutable
·published 2006-09-14 14:36 UTC
rendered paste body
<NomObjet> est [un] [objet] <Nom Classe> dynamique
oManagementScope est un ManagementScope dynamique
oObjectQuery est un ObjectQuery dynamique

Instancier un objet dynamique .Net :
//<Nom Objet> = allouer un <Nom Classe> ([<Paramètres>])

oManagementScope = allouer un ManagementScope("\\.\root\cimv2")
oManagementObjectSearcher = allouer un ManagementObjectSearcher(oManagementScope, oObjectQuery)
Manipulation de l'objet et appel aux méthodes

Simuler l'utilisation d'un ForEach, parcourir une collection d'objets qui ne peut être manipulée avec un indice.
C'est ici qu'intervient l'utilisation de l'interface IEnumerator qui comme son nom l'indique permet d'énumérer les objets d'une collection.

//On récupère la collection d'objets
oManagementObjectCollection = oManagementObjectSearcher:get() 

//On déclare un objet dynamique IEnumerator
IEnumMO est un IEnumerator dynamique

//On instancie l'objet IEnumérator
IEnumMO = oManagementObjectSearcher:get():GetEnumerator()

//On déclare un objet dynamique qui va récupérer l'objet en cours de manipulation dans la collection.
oManagementObject est un ManagementObject dynamique

//On boucle sur tous les objets de la collection
TANTQUE(IEnumMO:MoveNext())
    //Instancie un objet dynamique avec l'objet en cours de manipulation de la collection 
  oManagementObject = IEnumMO:get_Current()
  //Récupération d'une propriété de l'objet
  sRes est une chaîne = ""
  oManagementObject:GetPropertyValue(sName)