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