Come modificare o aggiornare un'istanza
Dopo aver recuperato un'istanza, è possibile modificare la copia locale e aggiornare le modifiche apportate al server.
Per modificare o aggiornare un'istanza
Recuperare una copia locale dell'oggetto con una chiamata a GetObject.
Se necessario, visualizzare le proprietà dell'oggetto con una chiamata al metodo Properties_ .
Anche se non è necessario, potrebbe essere necessario conoscere il valore della proprietà prima di modificarlo.
Apportare modifiche alle proprietà dell'oggetto con una chiamata al metodo SWbemProperty.Value .
Il metodo Value modifica solo la copia locale. Per salvare le modifiche apportate a WMI, è necessario inserire nuovamente la copia completa nel repository WMI.
Inserire nuovamente l'oggetto nel repository WMI con una chiamata ai metodi SWbemObject.Put_ o SWbemObject.PutAsync_ .
Poiché i nomi implicano, Put_ aggiorna in modo sincrono mentre PutAsync_ aggiorna in modo asincrono. Entrambi i metodi copiano l'istanza originale con l'istanza modificata. Tuttavia, per sfruttare l'elaborazione asincrona, è necessario creare un oggetto SWbemSink .
Nell'esempio seguente viene illustrato come aggiornare un'istanza:
Set ObjClass = Namespace.Get("MsSna_LinkService_IpDlc") ' Create new link service instance Set NewInst = ObjClass.SpawnInstance_ ' Set instance properties NewInst.NetworkName = Left(strComputerName, 8) NewInst.CPName = "IPDLCLS" NewInst.NodeID = "05D.FFFFF" NewInst.AddressType = 2 NewInst.LocalAddress = Trim(strLocalAddress) NewInst.LENNode = strLenNode NewInst.PrimaryNNS = strPrimaryNNS if (strBackupNNS <> Empty) then NewInst.BackupNNS = strBackupNNS end if ' Commit the instance NewInst.Put_