Método SWbemServices.SubclassesOf

O método SubclassesOf do objeto SWbemServices retorna um objeto SWbemObjectSet. Esse objeto é uma coleção de subclasses de uma classe especificada. Os itens na coleção retornada podem ser obtidos usando métodos de coleção padrão. Para obter mais informações, consulte Acessar uma coleção.

Esse método só funciona para objetos de classe.

O método é chamado no modo semissíncrono. Para obter mais informações, consulte Chamar um método.

Para conferir uma explicação dessa sintaxe, confira Convenções de documentação para API de script.

Sintaxe

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

Parâmetros

strSuperclass [opcional]

Especifica um nome de classe pai. Somente subclasses dessa classe retornam no enumerador. Se você deixar esse parâmetro em branco e se iFlags for wbemQueryFlagShallow, somente as classes de nível superior serão retornadas (ou seja, classes que não tenham classe pai). Se esse parâmetro estiver em branco e se iFlags for wbemQueryFlagDeep, todas as classes dentro do namespace serão retornadas.

iFlags [opcional]

Determina o quão detalhadamente a chamada enumera. Os valores padrão para esse parâmetro são wbemFlagReturnImmediately e wbemQueryFlagDeep. Esse parâmetro pode aceitar os valores a seguir.

wbemQueryFlagShallow (1 (0x1))

Força a enumeração a incluir apenas subclasses imediatas da classe pai especificada.

wbemQueryFlagDeep (0 (0x0))

Padrão desse parâmetro. Esse valor força a enumeração recursiva em todas as subclasses derivadas da classe pai especificada. A classe pai não é retornada na enumeração.

wbemFlagReturnImmediately (16 (0x10))

Faz com que a chamada retorne imediatamente.

wbemFlagReturnWhenComplete (0 (0x0))

Faz com que essa chamada seja bloqueada até que a chamada seja concluída. Esse sinalizador chama o método no modo síncrono.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Faz com que o WMI retorne dados de aditamento da classe com a definição da classe base. Para obter mais informações, consulte Localizar informações de classe WMI.

objWbemNamedValueSet [opcional]

Normalmente, isso é indefinido. Caso contrário, esse será um objeto SWbemNamedValueSet cujos elementos representam as informações de contexto que podem ser usadas pelo provedor que atende à solicitação. Um provedor que dê suporte ou exija essas informações deve documentar os nomes de valor reconhecidos, o tipo de dados do valor, os valores permitidos e a semântica.

Retornar valor

Se o método for bem-sucedido, um objeto SWbemObjectSet será retornado.

Códigos do Erro

Após a conclusão do método SubclassesOf, o objeto Err poderá conter um dos códigos de erro na lista a seguir.

Observação

Uma coleção retornada sem elementos não é um erro.

wbemErrAccessDenied – 2147749891 (0x80041003)

O usuário atual não tem a permissão para exibir uma ou mais das classes retornadas pela função.

wbemErrFailed – 2147749889 (0x80041001)

Erro não especificado.

wbemErrInvalidClass – 2147749904 (0x80041010)

A classe especificada não existe.

wbemErrInvalidParameter – 2147749896 (0x80041008)

Foi especificado um parâmetro inválido.

wbemErrOutOfMemory – 2147749894 (0x80041006)

Não há memória suficiente para concluir a operação.

Exemplos

O exemplo do PowerShell a seguir mostra como recuperar as subclasses de uma classe em um sistema remoto.

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

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Cabeçalho
Wbemdisp.h
Biblioteca de tipos
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

Confira também

SWbemServices

SWbemObjectSet