Condividi tramite


Metodo IWbemHiPerfProvider::GetObjects (wbemprov.h)

Il metodo IWbemHiPerfProvider::GetObjects inserisce le proprietà non chiave degli oggetti nella matrice fornita. WMI chiama GetObjects in risposta a una chiamata IWbemServices::GetObject . Se un provider non implementa GetObjects, WMI tenta di gestire una richiesta GetObject con una chiamata al metodo IWbemHiPerfProvider::CreateRefreshableObject .

Nota Se un provider non implementa questo metodo, deve restituire WBEM_E_PROVIDER_NOT_CAPABLE.
 

Sintassi

HRESULT GetObjects(
  [in]      IWbemServices     *pNamespace,
  [in]      long              lNumObjects,
  [in, out] IWbemObjectAccess **apObj,
            long              lFlags,
            IWbemContext      *pContext
);

Parametri

[in] pNamespace

Puntatore IWbemServices in Gestione Windows, che può gestire qualsiasi richiesta effettuata dal provider. Il provider deve chiamare AddRef su questo puntatore se verrà richiamato in Gestione Windows durante l'esecuzione.

[in] lNumObjects

Intero contenente il numero di oggetti che si sta recuperando.

[in, out] apObj

Puntatore a una matrice di oggetti IWbemObjectAccess . Il metodo GetObjects inserisce le proprietà chiave di ogni oggetto in questa matrice.

lFlags

Riservato. Questo parametro deve essere 0.

pContext

In genere NULL; in caso contrario, un puntatore a un oggetto IWbemContext richiesto da uno o più provider di classi dinamiche. I valori nell'oggetto di contesto devono essere specificati nella documentazione specifica del provider. Per altre informazioni su questo parametro, vedere Effettuare chiamate a WMI.

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.

Commenti

Gli oggetti richiesti avranno le relative proprietà chiave compilate.

Esempio

Nell'esempio di codice seguente viene descritto come implementare GetObjects.

HRESULT CMyHiPerfProvider::GetObjects(
  /* [in] */IWbemServices *pNamespace,
  /* [in] */  long lNumObjects,
  /* [in,out] */IWbemObjectAccess **apObj,
  /* [in] */long lFlags,
  /* [in] */IWbemContext *pCtx
)
{

  for ( long i = 0; i < lNumObjects; i++ )
  {
      // Validate the instance (that is, ensure
      // the path is good); if it fails, return
      // the error.

      // For example, create a method that validates
      // the IWbemObjectAccess instance and returns
      // false if validation failed.
      /*if ( !ValidateInstance( apObj[i] ) )
          return WBEM_E_NOT_FOUND;*/

      // Fill out the instance.
      // For example, create a method that assigns
      // a value to the IWbemObjectAccess instance.
      /*FillInstance( apObj[i] );*/
  }

  return WBEM_S_NO_ERROR;
}

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione wbemprov.h (include Wbemidl.h)
Libreria Wbemuuid.lib
DLL Wmiprvsd.dll

Vedi anche

Sviluppo di un provider WMI

IWbemHiPerfProvider

Creazione di un provider di istanze in un provider di High-Performance

Provider contatore prestazioni

Scrittura di un provider di istanze