Condividi tramite


Supporto delle operazioni di Partial-Instance

Non è necessario un provider per supportare operazioni di istanza parziale. Tuttavia, un provider deve supportare tutte le semantiche di un'operazione su un'istanza parziale, elaborare un'istanza completa o restituire WBEM_E_UNSUPPORTED_PARAMETER.

Quando si crea un provider che supporta operazioni di istanza parziale, è necessario rispettare le regole seguenti:

  • Riutilizzare lo stesso oggetto contesto inviato da WMI al provider. WMI usa il valore denominato "__GET_EXT_CLIENT_REQUEST" per impedire deadlock e rimuove il client prima di inoltrare l'oggetto contesto a un provider.
  • Per le chiamate reentranti in WMI che non richiedono un'operazione di istanza parziale, assicurarsi di restituire lo stesso oggetto di contesto senza alcuna modifica. WMI riceve l'oggetto di contesto senza il set di valori denominato "__GET_EXT_CLIENT_REQUEST" ed elimina tutti i valori denominati associati alle operazioni di istanza parziale dall'oggetto contesto prima di passarlo ad altri provider. La mancata modifica dell'oggetto contesto impedisce ad altri provider di ricevere operazioni di recupero di istanze parziali destinate a un oggetto diverso non correlato.
  • Per eseguire un'operazione di istanza parziale rientrante durante l'esecuzione di una richiesta, impostare il valore denominato "__GET_EXT_CLIENT_REQUEST" mancante e cancellare la proprietà. Facoltativamente, è possibile modificare le proprietà nel valore denominato "__GET_EXT_PROPERTIES" prima di inviare nuovamente l'oggetto contesto a WMI con la chiamata reentrant.
  • Non accedere all'oggetto di contesto dopo averlo restituito a WMI durante una chiamata rientrante; altri provider possono modificare gli elenchi di proprietà o altri valori durante la rientranza. È possibile esaminare o modificare l'oggetto di contesto solo per la durata della IWbemServices chiamata implementata.