Condividi tramite


Metodo IWbemServices::ExecMethod (wbemcli.h)

Il metodo IWbemServices::ExecMethod esegue un metodo esportato da un oggetto CIM. La chiamata al metodo viene inoltrata al provider appropriato in cui viene eseguita. Le informazioni e lo stato vengono restituiti al chiamante, che blocca fino al completamento della chiamata.

I metodi non vengono implementati direttamente da Gestione Windows, ma vengono esportati dai provider di metodi. Per qualsiasi classe CIM specifica, i metodi disponibili e i relativi parametri devono essere specificati nella documentazione relativa al provider in questione.

Per altre informazioni sull'esecuzione di metodi, vedere Chiamata di un metodo.

Sintassi

HRESULT ExecMethod(
  [in]  const BSTR       strObjectPath,
  [in]  const BSTR       strMethodName,
  [in]  long             lFlags,
  [in]  IWbemContext     *pCtx,
  [in]  IWbemClassObject *pInParams,
  [out] IWbemClassObject **ppOutParams,
  [out] IWbemCallResult  **ppCallResult
);

Parametri

[in] strObjectPath

BSTR valido contenente il percorso dell'oggetto per il quale viene eseguito il metodo.

[in] strMethodName

Nome del metodo per l'oggetto .

[in] lFlags

Questo parametro può essere impostato su 0 per eseguire questa chiamata sincrona. Per eseguire questa chiamata semisynchronous, impostare lFlags su WBEM_FLAG_RETURN_IMMEDIATELY, specificare un puntatore valido per il parametro ppCallResult e questa chiamata restituisce immediatamente. Per altre informazioni, vedere Chiamata di un metodo.

[in] pCtx

In genere NULL; in caso contrario, si tratta di un puntatore a un oggetto IWbemContext che può essere utilizzato dal provider che esegue il metodo . I valori nell'oggetto contesto devono essere specificati nella documentazione relativa al provider in questione. Per altre informazioni su questo parametro, vedere Effettuare chiamate a WMI.

[in] pInParams

Può essere NULL se non è necessario alcun parametro in per eseguire il metodo . In caso contrario, punta a un IWbemClassObject che contiene le proprietà che fungono da parametri in ingresso per l'esecuzione del metodo. Il contenuto dell'oggetto è specifico del metodo e fa parte della specifica per il provider in questione. Per altre informazioni sulla creazione di parametri di input, vedere Creating Parameters Objects in C++.

[out] ppOutParams

Se non è NULL, riceve un puntatore ai parametri in uscita e restituisce i valori per l'esecuzione del metodo. Il contenuto di questo oggetto è specifico del metodo e fa parte della specifica per il provider in questione. Il chiamante deve chiamare Release sull'oggetto restituito quando non è più necessario.

[out] ppCallResult

Se NULL, non viene utilizzato. Se si specifica ppCallResult , deve essere impostato su NULL nella voce. In questo caso, la chiamata restituisce immediatamente con WBEM_S_NO_ERROR. Il parametro ppCallResult riceve un puntatore a un nuovo oggetto IWbemCallResult , che deve essere sottoposto a polling per ottenere il risultato dell'esecuzione del metodo usando il metodo GetCallStatus . I parametri out per la chiamata sono disponibili chiamando IWbemCallResult::GetResultObject.

Valore restituito

Questo metodo restituisce un valore HRESULT che indica lo stato della chiamata al metodo. L'elenco seguente elenca il valore contenuto in hrESULT.

In caso di errore, è possibile ottenere qualsiasi informazione disponibile dalla funzione COM GetErrorInfo.

I codici di errore specifici di COM possono anche essere restituiti se i problemi di rete causano la perdita della connessione remota a Gestione Windows.

Commenti

Se ppOutParams non è NULL, il client può determinare il tipo di valore restituito del metodo esaminando la proprietà ReturnValue dell'oggetto a cui punta ppOutParams.

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione wbemcli.h (include Wbemidl.h)
Libreria Wbemuuid.lib
DLL Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll

Vedi anche

Chiamata di un metodo

IWbemCallResult::GetResultObject

Iwbemservices

IWbemServices::ExecMethodAsync