Поделиться через


Метод IWbemHiPerfProvider::GetObjects (wbemprov.h)

Метод IWbemHiPerfProvider::GetObjects вставляет неключовые свойства объектов в предоставленный массив. WMI вызывает GetObjects в ответ на вызов IWbemServices::GetObject . Если поставщик не реализует GetObjects, WMI пытается обслуживать запрос GetObject с помощью вызова метода IWbemHiPerfProvider::CreateRefreshableObject .

Примечание Если поставщик не реализует этот метод, он должен вернуть WBEM_E_PROVIDER_NOT_CAPABLE.
 

Синтаксис

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

Параметры

[in] pNamespace

Указатель IWbemServices обратно на управление Windows, который может обслуживать любой запрос, сделанный поставщиком. Поставщик должен вызвать AddRef для этого указателя, если он собирается вернуться к управлению Windows во время его выполнения.

[in] lNumObjects

Целое число, содержащее количество извлекаемых объектов.

[in, out] apObj

Указатель на массив объектов IWbemObjectAccess . Метод GetObjects вставляет ключевые свойства каждого объекта в этот массив.

lFlags

Зарезервировано. Этот параметр должен иметь значение 0.

pContext

Как правило, значение NULL; в противном случае — указатель на объект IWbemContext , необходимый одному или нескольким поставщикам динамических классов. Значения в объекте контекста должны быть указаны в документации по конкретному поставщику. Дополнительные сведения об этом параметре см. в разделе Выполнение вызовов WMI..

Возвращаемое значение

Этот метод возвращает HRESULT , указывающий состояние вызова метода. В следующем списке перечислены значения, содержащиеся в HRESULT.

Комментарии

Для запрошенных объектов будут заполнены ключевые свойства.

Примеры

В следующем примере кода описывается реализация 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;
}

Требования

   
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Целевая платформа Windows
Header wbemprov.h (включая Wbemidl.h)
Библиотека Wbemuuid.lib
DLL Wmiprvsd.dll

См. также раздел

Разработка поставщика WMI

IWbemHiPerfProvider

Преобразование поставщика экземпляра в поставщик High-Performance

Поставщик счетчиков производительности

Написание поставщика экземпляров