Compartilhar via


Função CreateClassEnumWmi

Retorna um enumerador para todas as classes que satisfaçam os critérios de seleção especificados.

Observação

Esta API é somente para uso interno. Ela não é destinada ao uso do código do desenvolvedor.

Sintaxe

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
);

Parâmetros

strSuperclass
[in] Se não for null nem estiver em branco, especifica o nome de uma classe pai; o enumerador retornará apenas subclasses dessa classe. Se for null ou estiver em branco e lFlags for WBEM_FLAG_SHALLOW, retornará apenas classes de nível superior (classes sem classe pai). Se for null ou estiver em branco e lFlags for WBEM_FLAG_DEEP, retornará todas as classes no namespace.

lFlags
[in] Uma combinação de sinalizadores que afetam o comportamento dessa função. Os seguintes valores são definidos no arquivo de cabeçalho WbemCli.h ou você pode defini-los como constantes em seu código:

Constante Valor Descrição
WBEM_FLAG_USE_AMENDED_QUALIFIERS 0x20000 Se definida, a função recuperará os qualificadores alterados armazenados no namespace localizado da localidade da conexão atual.
Se não estiver definida, a função recuperará apenas os qualificadores armazenados no namespace imediato.
WBEM_FLAG_DEEP 0 A enumeração inclui todas as subclasses na hierarquia, mas não essa classe.
WBEM_FLAG_SHALLOW 1 A enumeração inclui apenas instâncias puras dessa classe e exclui todas as instâncias de subclasses que fornecem propriedades não encontradas nessa classe.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 O sinalizador causa uma chamada de método semissíncrono.
WBEM_FLAG_FORWARD_ONLY 0x20 A função retorna um enumerador apenas para encaminhamento. Normalmente, os enumeradores apenas para encaminhamento são mais rápidos e usam menos memória do que os enumeradores convencionais, mas eles não permitem chamadas para Clonar.
WBEM_FLAG_BIDIRECTIONAL 0 O WMI retém ponteiros para objetos na enumeração até que eles sejam lançados.

Os sinalizadores recomendados são WBEM_FLAG_RETURN_IMMEDIATELY e WBEM_FLAG_FORWARD_ONLY para melhor desempenho.

pCtx
[in] Normalmente, esse valor é null. Caso contrário, ele é um ponteiro para uma instância IWbemContext que pode ser usada pelo provedor que está fornecendo as classes solicitadas.

ppEnum
[out] Recebe o ponteiro para o enumerador.

authLevel
[in] O nível de autorização.

impLevel
[in] O nível de representação.

pCurrentNamespace
[in] Um ponteiro para um objeto IWbemServices que representa o namespace atual.

strUser
[in] O nome do usuário. Confira a função ConnectServerWmi para obter mais informações.

strPassword
[in] A senha. Confira a função ConnectServerWmi para obter mais informações.

strAuthority
[in] O nome de domínio do usuário. Confira a função ConnectServerWmi para obter mais informações.

Valor retornado

Os seguintes valores retornados por essa função são definidos no arquivo de cabeçalho WbemCli.h, ou você pode defini-los como constantes em seu código:

Constante Valor Descrição
WBEM_E_ACCESS_DENIED 0x80041003 O usuário não tem permissão para exibir uma ou mais das classes que a função pode retornar.
WBEM_E_FAILED 0x80041001 Ocorreu um erro não especificado.
WBEM_E_INVALID_CLASS 0x80041010 strSuperClass não existe.
WBEM_E_INVALID_PARAMETER 0x80041008 Um parâmetro não é válido.
WBEM_E_OUT_OF_MEMORY 0x80041006 Não há memória disponível suficiente para concluir a operação.
WBEM_E_SHUTTING_DOWN 0x80041033 O WMI provavelmente foi interrompido e reiniciado. Chame ConnectServerWmi novamente.
WBEM_E_TRANSPORT_FAILURE 0x80041015 Falha no link da RPC (chamada de procedimento remoto) entre o processo atual e o WMI.
WBEM_S_NO_ERROR 0 A chamada de função foi bem-sucedida.

Comentários

Essa função faz o encapsulamento de uma chamada para o método IWbemServices::CreateClassEnum.

Se a chamada de função falhar, você poderá obter informações de erro adicionais chamando a função GetErrorInfo.

Requisitos

Plataformas: confira Requisitos do sistema.

Header: WMINet_Utils.idl

Versões do .NET Framework: Disponível desde 4.7.2

Confira também