Modifica dell'ereditarietà di un'istanza

È possibile trovare una situazione in cui un'istanza creata come figlio di una classe padre deve modificare le classi padre e diventare figlio di una classe padre diversa. Ad esempio, potrebbe essere disponibile una classe derivata , ManualService, che descrive un servizio manuale e una classe derivata, AutoService, che descrive un servizio automatico. Entrambe le classi hanno un numero elevato di proprietà. Non tutte le proprietà sono identiche. Per modificare un servizio da manuale a automatico, è necessario modificare anche l'istanza che rappresenta il servizio da ManualService a AutoService. Nella versione corrente di WMI non è possibile chiamare il metodo IWbemServices::P utInstance con il parametro pInst che punta a un'istanza di AutoService e alle proprietà chiave che descrivono l'istanza di ManualService . In caso affermativo, si elimina in modo implicito l'istanza di ManualService originale. In sostanza, dopo aver stabilito la classe di un'istanza, è possibile modificare solo la classe padre di un'istanza eliminando l'istanza e ricreando l'istanza come istanza della nuova classe padre.

La procedura seguente descrive come spostare un'istanza da una classe a un'altra classe.

Per spostare un'istanza da una classe a un'altra classe

  1. Eliminare l'istanza dalla classe originale.

  2. Creare l'istanza nella nuova classe.

    WMI non consente alle applicazioni di spostare un'istanza creandola nella nuova classe e quindi aggiornandola con la chiave dell'istanza originale.

Per altre informazioni, vedere Modifica delle informazioni sulla classe e sull'istanza.