Метод SWbemServices.SubclassesOf
Метод SubclassesOf объекта SWbemServices возвращает объект SWbemObjectSet . Этот объект представляет собой коллекцию подклассов указанного класса. Элементы в возвращаемой коллекции можно получить с помощью стандартных методов сбора. Дополнительные сведения см. в разделе Доступ к коллекции.
Этот метод работает только для объектов класса.
Метод вызывается в полусинхронном режиме. Дополнительные сведения см. в разделе Вызов метода .
Описание этого синтаксиса см. в разделе Соглашения о документах для API сценариев.
Синтаксис
objWbemObjectSet = .SubclassesOf( _
[ ByVal strSuperclass ], _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ] _
)
Параметры
-
strSuperclass [необязательно]
-
Указывает имя родительского класса. В перечислителе возвращаются только подклассы этого класса. Если оставить этот параметр пустым и если iFlags имеет значение wbemQueryFlagShallow, возвращаются только классы верхнего уровня (т. е. классы, не имеющие родительского класса). Если этот параметр пуст, а iFlags — wbemQueryFlagDeep, возвращаются все классы в пространстве имен.
-
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 |
Заголовок |
|
Библиотека типов |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |