Метод SWbemServices.SubclassesOf

Метод SubclassesOf объекта SWbemServices возвращает объект SWbemObjectSet . Этот объект представляет собой коллекцию подклассов указанного класса. Элементы в возвращаемой коллекции можно получить с помощью стандартных методов сбора. Дополнительные сведения см. в разделе Доступ к коллекции.

Этот метод работает только для объектов класса.

Метод вызывается в полусинхронном режиме. Дополнительные сведения см. в разделе Вызов метода .

Описание этого синтаксиса см. в разделе Соглашения о документах для API сценариев.

Синтаксис

objWbemObjectSet = .SubclassesOf( _
  [ ByVal strSuperclass ], _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ] _
)

Параметры

strSuperclass [необязательно]

Указывает имя родительского класса. В перечислителе возвращаются только подклассы этого класса. Если оставить этот параметр пустым и если iFlags имеет значение wbemQueryFlagShallow, возвращаются только классы верхнего уровня (т. е. классы, не имеющие родительского класса). Если этот параметр пуст, а iFlagswbemQueryFlagDeep, возвращаются все классы в пространстве имен.

iFlags [необязательно]

Определяет детализацию перечисления вызовов. Значения по умолчанию для этого параметра: wbemFlagReturnImmediately и wbemQueryFlagDeep. Этот параметр может принимать следующие значения.

wbemQueryFlagShallow (1 (0x1))

Принудительное включение перечисления только непосредственных подклассов указанного родительского класса.

wbemQueryFlagDeep (0 (0x0))

Значение по умолчанию для этого параметра. Это значение принудительно выполняет рекурсивное перечисление во все подклассы, производные от указанного родительского класса. Родительский класс не возвращается в перечислении .

wbemFlagReturnImmediately (16 (0x10))

Вызывает немедленный возврат вызова.

wbemFlagReturnWhenComplete (0 (0x0))

Вызывает блокировку этого вызова до завершения вызова. Этот флаг вызывает метод в синхронном режиме.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Заставляет WMI возвращать данные о поправках класса с определением базового класса. Дополнительные сведения см. в разделе Локализация сведений о классе WMI.

objWbemNamedValueSet [необязательно]

Как правило, это не определено. В противном случае это объект SWbemNamedValueSet , элементы которого представляют сведения контекста, которые могут использоваться поставщиком, обслуживающим запрос. Поставщик, поддерживающий или требующий таких сведений, должен документировать имена распознаваемых значений, тип данных значения, допустимые значения и семантику.

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

Если метод выполнен успешно, возвращается объект SWbemObjectSet .

Коды ошибок

После завершения метода SubclassesOf объект Err может содержать один из кодов ошибок в следующем списке.

Примечание

Возвращаемая коллекция с нулевыми элементами не является ошибкой.

wbemErrAccessDenied — 2147749891 (0x80041003)

Текущий пользователь не имеет разрешения на просмотр одного или нескольких классов, возвращаемых вызовом.

wbemErrFailed — 2147749889 (0x80041001)

Незаданная ошибка.

wbemErrInvalidClass — 2147749904 (0x80041010)

Указанный класс не существует.

wbemErrInvalidParameter — 2147749896 (0x80041008)

Указан недопустимый параметр.

wbemErrOutOfMemory — 2147749894 (0x80041006)

Недостаточно памяти для завершения операции.

Примеры

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

$NameSpace = 'root\ccm'
$ComputerName = 'sccm.company.com'
$WbemLocator = New-Object -ComObject "WbemScripting.SWbemLocator"
$WbemServices = $WbemLocator.ConnectServer($ComputerName, $Namespace)
$WbemClasses = $WbemServices.SubclassesOf()
$WbemClasses

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Заголовок
Wbemdisp.h
Библиотека типов
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

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

SWbemServices

SWbemObjectSet