Метод IWbemServices::CreateInstanceEnum (wbemcli.h)
Метод IWbemServices::CreateInstanceEnum создает перечислитель, который возвращает экземпляры указанного класса в соответствии с заданными пользователем критериями выбора. Этот метод поддерживает простые запросы WQL; более сложные запросы можно обрабатывать с помощью метода IWbemServices::ExecQuery .
Синтаксис
HRESULT CreateInstanceEnum(
[in] const BSTR strFilter,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IEnumWbemClassObject **ppEnum
);
Параметры
[in] strFilter
Допустимое значение BSTR , содержащее имя класса, для которого нужны экземпляры. Этот параметр не может иметь значение NULL.
[in] lFlags
Следующие флаги влияют на поведение этого метода. Рекомендуемое значение для этого параметра — WBEM_FLAG_RETURN_IMMEDIATELY и WBEM_FLAG_FORWARD_ONLY для достижения наилучшей производительности.
WBEM_FLAG_USE_AMENDED_QUALIFIERS
Если этот флаг установлен, WMI извлекает измененные квалификаторы, хранящиеся в локализованном пространстве имен языкового стандарта текущего подключения. Если значение не задано, извлекаются только квалификаторы, хранящиеся в непосредственном пространстве имен.
WBEM_FLAG_DEEP
Этот флаг заставляет перечисление включать этот и все подклассы в иерархию.
WBEM_FLAG_SHALLOW
Этот флаг заставляет перечисление включать только чистые экземпляры этого класса, исключая все экземпляры подклассов, которые предоставляют свойства, не найденные в этом классе.
WBEM_FLAG_RETURN_IMMEDIATELY
Этот флаг приводит к полусинхронному вызову. Дополнительные сведения см. в разделе Вызов метода .
WBEM_FLAG_FORWARD_ONLY
Этот флаг приводит к возврату перечислителя только вперед. Перечислители только вперед обычно выполняются гораздо быстрее и используют меньше памяти, чем обычные перечислители, но не разрешают вызовы клонирования или сброса.
WBEM_FLAG_BIDIRECTIONAL
Этот флаг приводит к тому, что управление Windows сохраняет указатели на объекты перечисления до тех пор, пока клиент не отпустит перечислитель. Поскольку указатели объектов не освобождаются немедленно, этот метод может завершиться ошибкой с WBEM_E_OUT_OF_MEMORY hResult, если клиент пытается перечислить большое количество объектов. Этот флаг подразумевается по умолчанию, если для параметра lFlags задано значение 0 (ноль).
WBEM_FLAG_DIRECT_READ
Этот флаг обеспечивает прямой доступ к поставщику для указанного класса без учета его родительского класса или подклассов.
[in] pCtx
Как правило, значение NULL. В противном случае это указатель на объект IWbemContext , который может использоваться поставщиком, предоставляющим запрошенные экземпляры. Значения в объекте контекста должны быть указаны в документации для соответствующего поставщика. Дополнительные сведения об этом параметре см. в статье Вызовы WMI.
[out] ppEnum
Получает указатель на перечислитель, имеющий положительное число ссылок. Вызывающий объект должен вызывать IUnknown::Release в указателе после того, как он больше не требуется.
Возвращаемое значение
Этот метод возвращает HRESULT , указывающий состояние вызова метода. В следующем списке перечислены значения, содержащиеся в HRESULT.
При сбое можно получить любые доступные сведения из функции COM GetErrorInfo.
Коды ошибок, относящихся к COM, также могут быть возвращены, если проблемы с сетью приводят к потере удаленного подключения к управлению Windows.
Комментарии
Если возвращаемый перечислитель имеет нулевые элементы, это не является ошибкой.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | wbemcli.h (включая Wbemidl.h) |
Библиотека | 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 |