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


Функция CreateClassEnumWmi

Возвращает перечислитель для всех классов, которые удовлетворяют указанным критериям выбора.

Примечание

Этот интерфейс API предназначен только для внутреннего использования. Он не предназначен для использования из кода разработчика.

Синтаксис

HRESULT CreateClassEnumWmi (
   [in] BSTR                    strSuperclass,
   [in] long                    lFlags,
   [in] IWbemContext*           pCtx,
   [out] IEnumWbemClassObject** ppEnum,
   [in] DWORD                   authLevel,
   [in] DWORD                   impLevel,
   [in] IWbemServices*          pCurrentNamespace,
   [in] BSTR                    strUser,
   [in] BSTR                    strPassword,
   [in] BSTR                    strAuthority
);

Параметры

strSuperclass
[in] В противном null случае указывает имя родительского класса; перечислитель возвращает только подклассы этого класса. Если значение равно null или пусто и lFlags WBEM_FLAG_SHALLOW, возвращает только классы верхнего уровня (классы без родительского класса). Если значение равно null или пусто, а lFlags равно WBEM_FLAG_DEEP, возвращает все классы в пространстве имен.

lFlags
[in] Сочетание флагов, влияющих на поведение этой функции. Следующие значения определяются в файле заголовка WbemCli.h или их можно определить как константы в коде:

Константа Значение Описание
WBEM_FLAG_USE_AMENDED_QUALIFIERS 0x20000 Если этот параметр задан, функция извлекает измененные квалификаторы, хранящиеся в локализованном пространстве имен языкового стандарта текущего подключения.
Если значение не задано, функция извлекает только квалификаторы, хранящиеся в непосредственном пространстве имен.
WBEM_FLAG_DEEP 0 Перечисление включает все подклассы в иерархии, но не этот класс.
WBEM_FLAG_SHALLOW 1 Перечисление включает только чистые экземпляры этого класса и исключает все экземпляры подклассов, которые предоставляют свойства, не найденные в этом классе.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 Флаг вызывает полусинхронный вызов.
WBEM_FLAG_FORWARD_ONLY 0x20 Функция возвращает перечислитель только вперед. Как правило, перечислители только для пересылки работают быстрее и используют меньше памяти, чем обычные перечислители, но не разрешают вызовы клонирования.
WBEM_FLAG_BIDIRECTIONAL 0 WMI сохраняет указатели на объекты в перечислении, пока они не будут освобождены.

Рекомендуется WBEM_FLAG_RETURN_IMMEDIATELY использовать флаги и WBEM_FLAG_FORWARD_ONLY для наилучшей производительности.

pCtx
[in] Как правило, это значение равно null. В противном случае это указатель на экземпляр IWbemContext , который может использоваться поставщиком, предоставляющим запрошенные классы.

ppEnum
[out] Получает указатель на перечислитель.

authLevel
[in] Уровень авторизации.

impLevel
[in] Уровень олицетворения.

pCurrentNamespace
[in] Указатель на объект IWbemServices , представляющий текущее пространство имен.

strUser
[in] Имя пользователя. Дополнительные сведения см. в разделе Функция ConnectServerWmi .

strPassword
[in] Пароль. Дополнительные сведения см. в разделе Функция ConnectServerWmi .

strAuthority
[in] Доменное имя пользователя. Дополнительные сведения см. в разделе Функция ConnectServerWmi .

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

Следующие значения, возвращаемые этой функцией, определяются в файле заголовка WbemCli.h или их можно определить как константы в коде:

Константа Значение Описание
WBEM_E_ACCESS_DENIED 0x80041003 Пользователь не имеет разрешения на просмотр одного или нескольких классов, возвращаемых функцией.
WBEM_E_FAILED 0x80041001 Возникла неопределенная ошибка.
WBEM_E_INVALID_CLASS 0x80041010 strSuperClass — не существует.
WBEM_E_INVALID_PARAMETER 0x80041008 Недействительный параметр.
WBEM_E_OUT_OF_MEMORY 0x80041006 Недостаточно памяти для выполнения операции.
WBEM_E_SHUTTING_DOWN 0x80041033 WMI, вероятно, остановлен и перезапущен. Снова вызовите ConnectServerWmi .
WBEM_E_TRANSPORT_FAILURE 0x80041015 Сбой связи удаленного вызова процедуры (RPC) между текущим процессом и WMI.
WBEM_S_NO_ERROR 0 Вызов функции выполнен успешно.

Комментарии

Эта функция создает оболочку для вызова метода IWbemServices::CreateClassEnum .

Если вызов функции завершается сбоем, можно получить дополнительные сведения об ошибке, вызвав функцию GetErrorInfo .

Требования

Платформы: см. раздел Требования к системе.

Заголовка: WMINet_Utils.idl

платформа .NET Framework версии: доступно с версии 4.7.2.

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