Partilhar via


Função CreateClassEnumWmi

Devolve um enumerador para todas as classes que satisfazem os critérios de seleção especificados.

Nota

Esta API destina-se apenas a utilização interna. Não se destina a ser utilizado a partir do código do programador.

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 estiver null ou estiver em branco, especifica o nome de uma classe principal; o enumerador devolve apenas subclasses desta classe. Se estiver ou estiver null em branco e lFlags estiver WBEM_FLAG_SHALLOW, devolve apenas classes de nível superior (classes sem classe principal). Se estiver ou estiver null em branco e lFlags for WBEM_FLAG_DEEP, devolve todas as classes no espaço de nomes.

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

Constante Valor Descrição
WBEM_FLAG_USE_AMENDED_QUALIFIERS 0x20000 Se estiver definida, a função obtém os qualificadores alterados armazenados no espaço de nomes localizado da região da ligação atual.
Se não estiver definida, a função obtém apenas os qualificadores armazenados no espaço de nomes imediato.
WBEM_FLAG_DEEP 0 A enumeração inclui todas as subclasses na hierarquia, mas não esta classe.
WBEM_FLAG_SHALLOW 1 A enumeração inclui apenas instâncias puras desta classe e exclui todas as instâncias de subclasses que fornecem propriedades não encontradas nesta classe.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 O sinalizador causa uma chamada semissíncrona.
WBEM_FLAG_FORWARD_ONLY 0x20 A função devolve um enumerador só de reencaminhamento. Normalmente, os enumeradores apenas de reencaminhamento são mais rápidos e utilizam menos memória do que os enumeradores convencionais, mas não permitem chamadas para Clonar.
WBEM_FLAG_BIDIRECTIONAL 0 A WMI retém os ponteiros para os objetos na enumeração até serem libertados.

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

pCtx
[in] Normalmente, este valor é null. Caso contrário, é um ponteiro para uma instância IWbemContext que pode ser utilizada pelo fornecedor que está a fornecer as classes pedidas.

ppEnum
[fora] 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 espaço de nomes atual.

strUser
[in] O nome de utilizador. Veja a função ConnectServerWmi para obter mais informações.

strPassword
[in] A palavra-passe. Veja a função ConnectServerWmi para obter mais informações.

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

Valor devolvido

Os seguintes valores devolvidos por esta função são definidos no ficheiro de cabeçalho WbemCli.h ou pode defini-los como constantes no seu código:

Constante Valor Descrição
WBEM_E_ACCESS_DENIED 0x80041003 O utilizador não tem permissão para ver uma ou mais das classes que a função pode devolver.
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 existe memória suficiente disponível para concluir a operação.
WBEM_E_SHUTTING_DOWN 0x80041033 O WMI foi provavelmente parado e reiniciado. Ligue novamente para ConnectServerWmi .
WBEM_E_TRANSPORT_FAILURE 0x80041015 A ligação de chamada de procedimento remoto (RPC) entre o processo atual e a WMI falhou.
WBEM_S_NO_ERROR 0 A chamada da função foi efetuada com êxito.

Observações

Esta função encapsula uma chamada para o método IWbemServices::CreateClassEnum .

Se a chamada da função falhar, pode obter informações de erro adicionais ao chamar a função GetErrorInfo .

Requisitos

Plataformas: Veja Requisitos de Sistema.

Cabeçalho: WMINet_Utils.idl

.NET Framework Versões: Disponível desde a versão 4.7.2

Ver também