Метод Provider::EnumerateInstances (provider.h)
[Класс Provider является частью платформы поставщика WMI, которая в настоящее время рассматривается в окончательном состоянии, и дальнейшие разработки, улучшения или обновления не будут доступны для проблем, не связанных с безопасностью, влияющих на эти библиотеки. API mi mi следует использовать для всех новых разработок.]
Метод EnumerateInstances вызывается WMI для получения всех экземпляров класса поставщика платформы.
Синтаксис
HRESULT EnumerateInstances(
MethodContext *pMethodContext,
long lFlags
);
Параметры
pMethodContext
Указатель на объект контекста для этого вызова. Это значение содержит все свойства IWbemContext, заданные клиентом. Кроме того, этот указатель должен использоваться в качестве параметра для всех вызовов WMI.
lFlags
Битовая маска флагов со сведениями об операции EnumerateInstances . Это значение, указанное клиентом в методе IWbemServices::CreateInstanceEnum .
Следующие флаги обрабатываются (и отфильтровываются) WMI:
- WBEM_FLAG_DEEP
- WBEM_FLAG_SHALLOW
- WBEM_FLAG_RETURN_IMMEDIATELY
- WBEM_FLAG_FORWARD_ONLY
- WBEM_FLAG_BIDIRECTIONAL
- WBEM_FLAG_USE_AMENDED_QUALIFIERS
Возвращаемое значение
Реализация этого метода поставщиком платформы по умолчанию возвращает WBEM_E_PROVIDER_NOT_CAPABLE вызывающем методу. Метод IWbemServices::CreateInstanceEnum перечисляет наиболее распространенные возвращаемые значения, но вы можете вернуть любой код возврата COM.
Комментарии
Функция EnumerateInstances не возвращает ноль экземпляров путем создания нулевых экземпляров CInstance и задания возвращаемого значения WBEM_S_NO_ERROR.
WMI часто вызывает EnumerateInstances, когда клиентское приложение вызывает IWbemServices::CreateInstanceEnum, хотя WMI может вызывать EnumerateInstances и в других ситуациях. Ниже приведен распространенный способ переопределения EnumerateInstances:
- Создайте пустой экземпляр класса с помощью Provider::CreateNewInstance.
- Заполните свойства пустого экземпляра с помощью методов Set класса CInstance , таких как CInstance::SetByte или CInstance::SetStringArray.
- Отправьте экземпляр обратно клиенту с помощью CInstance::Commit.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | provider.h (включая FwCommon.h) |
Библиотека | FrameDyn.lib |
DLL | FrameDynOS.dll; FrameDyn.dll |