Método IWbemServices::CreateClassEnum (wbemcli.h)
O método IWbemServices::CreateClassEnum retorna um enumerador para todas as classes que atendem aos critérios de seleção. O chamador deve usar o enumerador retornado para recuperar as definições de classe, chamando IEnumWbemClassObject::Next para obter cada classe ou blocos de classes. Ele termina chamando IEnumWbemClassObject::Release.
Sintaxe
HRESULT CreateClassEnum(
[in] const BSTR strSuperclass,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IEnumWbemClassObject **ppEnum
);
Parâmetros
[in] strSuperclass
Se não for NULL ou em branco, especificará um nome de classe pai. Somente as classes que são subclasses dessa classe são retornadas no enumerador. Se for NULL ou em branco e lFlags for WBEM_FLAG_SHALLOW, somente as classes de nível superior serão retornadas (ou seja, classes que não têm classe pai). Se for NULL ou em branco e lFlags for WBEM_FLAG_DEEP, todas as classes dentro do namespace serão retornadas.
[in] lFlags
Os sinalizadores a seguir afetam o comportamento desse método. O valor sugerido para esse parâmetro é WBEM_FLAG_RETURN_IMMEDIATELY e WBEM_FLAG_FORWARD_ONLY para melhor desempenho.
WBEM_FLAG_USE_AMENDED_QUALIFIERS
Se esse sinalizador estiver definido, o WMI recuperará os qualificadores alterados armazenados no namespace localizado da localidade da conexão atual. Se não estiver definido, somente os qualificadores armazenados no namespace imediato serão recuperados.
WBEM_FLAG_DEEP
Esse sinalizador força a enumeração a incluir todas as subclasses na hierarquia, mas não essa classe.
WBEM_FLAG_SHALLOW
Esse sinalizador força a enumeração a incluir apenas instâncias puras dessa classe, excluindo todas as instâncias de subclasses que fornecem propriedades não encontradas nessa classe.
WBEM_FLAG_RETURN_IMMEDIATELY
Esse sinalizador causa uma chamada semissíncrona. Para obter mais informações, confira Como chamar um método.
WBEM_FLAG_FORWARD_ONLY
Esse sinalizador faz com que um enumerador somente de encaminhamento seja retornado. Normalmente, os enumeradores somente de encaminhamento são mais rápidos e usam menos memória do que os enumeradores convencionais, mas não permitem chamadas para Clonar ou Redefinir.
WBEM_FLAG_BIDIRECTIONAL
Esse sinalizador faz com que o WMI mantenha ponteiros para objetos da enumeração até que o cliente libere o enumerador. Como os ponteiros de objeto não são liberados imediatamente, esse método pode falhar com um HRESULT de WBEM_E_OUT_OF_MEMORY se o cliente tentar enumerar um grande número de objetos. Esse sinalizador será implícito por padrão se você definir o parâmetro lFlags como 0 (zero).
[in] pCtx
Normalmente NULL. Caso contrário, esse é um ponteiro para um objeto IWbemContext que pode ser usado pelo provedor que está fornecendo as classes solicitadas. Os valores no objeto de contexto devem ser especificados na documentação do provedor. Para obter mais informações sobre esse parâmetro, consulte Fazendo chamadas para WMI.
[out] ppEnum
Recebe o ponteiro para o enumerador. O objeto retornado tem uma contagem de referência positiva. O chamador deve chamar Release no ponteiro quando ele não for mais necessário.
Valor retornado
Esse método retorna um HRESULT que indica o status de uma chamada de método. A lista a seguir lista o valor contido em um HRESULT.
Em caso de falha, você pode obter informações disponíveis da função COM GetErrorInfo.
Códigos de erro específicos do COM também podem ser retornados se problemas de rede fizerem com que você perca a conexão remota com o Gerenciamento do Windows.
Requisitos
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | wbemcli.h (inclua Wbemidl.h) |
Biblioteca | Wbemuuid.lib |
DLL | Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll |