Condividi tramite


Supporto delle operazioni di Partial-Instance

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

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

  • Riutilizzare lo stesso oggetto contesto inviato da WMI al provider. WMI usa il valore denominato "__GET_EXT_CLIENT_REQUEST" per evitare deadlock e rimuove il client prima di inoltrare l'oggetto contesto a un provider.
  • Per le chiamate reentrant in WMI che non richiedono un'operazione di istanza parziale, assicurarsi di passare di nuovo lo stesso oggetto di contesto senza modifiche. WMI riceve l'oggetto 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 modifica dell'oggetto contesto impedisce ad altri provider di ricevere operazioni di recupero di istanze parziali destinate a un oggetto diverso e non correlato.
  • Per eseguire un'operazione di istanza parziale reentrant durante l'esecuzione di una richiesta, impostare il valore e la proprietà mancanti "__GET_EXT_CLIENT_REQUEST". Facoltativamente, è possibile modificare le proprietà nel valore denominato "__GET_EXT_PROPERTIES" prima di inviare nuovamente l'oggetto di contesto a WMI con la chiamata reentrant.
  • Non accedere all'oggetto contesto dopo averla restituita a WMI durante una chiamata reentrant; altri provider possono modificare gli elenchi di proprietà o altri valori durante la reentrancy. È possibile esaminare o modificare l'oggetto di contesto solo per la durata della chiamata IWbemServices implementata.