Creazione di oggetti Parameters in C++
I metodi IWbemServices::ExecMethod o ExecMethodAsync richiedono la classe di sistema __PARAMETERS come contenitore in pInParams se il metodo in esecuzione ha argomenti di input.
La procedura seguente descrive come creare un'istanza della classe di sistema __PARAMETERS per contenere le informazioni sui parametri.
Per creare un'istanza di __PARAMETERS
Determinare il percorso della classe contenente la definizione del metodo.
Usando il percorso della classe e il puntatore IWbemServices passati da IWbemProviderInit::Initialize, chiamare IWbemClassObject::GetMethod per recuperare le classi di parametri di input e output.
Il metodo GetMethod restituisce un puntatore IWbemClassObject per l'accesso a ognuna di queste classi.
Usando il puntatore IWbemClassObject per la classe di output, chiamare IWbemClassObject::SpawnInstance per creare un'istanza della classe .
Popolare l'istanza della classe impostando le proprietà corrispondenti ai valori di output e, se è presente un valore restituito per il metodo , la proprietà ReturnValue .
Passare di nuovo l'istanza di __PARAMETERS al chiamante tramite il metodo IWbemObjectSink::Indicate .
Dopo che un provider di metodi determina che i parametri di input sono corretti, il metodo a cui punta strMethodName potrebbe comunque passare o non riuscire. Alcuni provider di metodi generano un secondo thread per implementare il metodo in modo che l'esito positivo o negativo effettivo del metodo venga segnalato al chiamante tramite IWbemObjectSink::SetStatus. Si noti che IWbemObjectSink::SetStatus non riceve il codice restituito del metodo provider. Tuttavia, riceve il codice restituito del meccanismo di restituzione della chiamata effettiva ed è utile solo per verificare che la chiamata si sia verificata o che non sia riuscita per motivi meccanici.
Argomenti correlati