Метод IWbemHiPerfProvider::GetObjects (wbemprov.h)
Метод IWbemHiPerfProvider::GetObjects вставляет неключовые свойства объектов в предоставленный массив. WMI вызывает GetObjects в ответ на вызов IWbemServices::GetObject . Если поставщик не реализует GetObjects, WMI пытается обслуживать запрос GetObject с помощью вызова метода IWbemHiPerfProvider::CreateRefreshableObject .
Синтаксис
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 |
См. также раздел
Преобразование поставщика экземпляра в поставщик High-Performance