Função CreateInstanceEnumWmi
Devolve um enumerador que devolve as instâncias de uma classe especificada que cumprem 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 CreateInstanceEnumWmi (
[in] BSTR strFilter,
[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
strFilter
[in] O nome da classe para a qual as instâncias são pretendidas. Este parâmetro não pode ser null
.
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 esta e todas as subclasses na hierarquia. |
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 só 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 mantém os ponteiros nos objetos na enumeração até serem libertados. |
Os sinalizadores recomendados são WBEM_FLAG_RETURN_IMMEDIATELY
e WBEM_FLAG_FORWARD_ONLY
para 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 instâncias 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 instâncias da classe especificada. |
WBEM_E_FAILED |
0x80041001 | Ocorreu um erro não especificado. |
WBEM_E_INVALID_CLASS |
0x80041010 | strFilter 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 | A WMI foi provavelmente parada e reiniciada. 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 de função foi efetuada com êxito. |
Observações
Esta função encapsula uma chamada para o método IWbemServices::CreateClassEnum .
Tenha em atenção que o enumerador devolvido pode ter zero elementos.
Se a chamada da função falhar, pode obter informações de erro adicionais ao chamar a função GetErrorInfo .
Requisitos
Plataformas: Veja Requisitos do Sistema.
Cabeçalho: WMINet_Utils.idl
.NET Framework Versões: Disponível desde 4.7.2