Compartilhar via


Método CWbemProviderGlue::GetInstancesByQueryAsynch (wbemglue.h)

[A classe CWbemProviderGlue faz parte do WMI Provider Framework que agora é considerado em estado final e nenhum desenvolvimento, melhoria ou atualização adicional estará disponível para problemas não relacionados à segurança que afetarem essas bibliotecas. As APIs de MI devem ser usadas para todos os novos desenvolvimentos.]

O método GetInstancesByQueryAsynch recupera uma lista de instâncias com suporte de um provedor específico e que correspondem a uma consulta específica. Esse método permite que o provedor responda de forma assíncrona retornando uma instância de cada vez.

Sintaxe

HRESULT GetInstancesByQueryAsynch(
  LPCWSTR                    query,
  Provider                   *pRequester,
  LPProviderInstanceCallback pCallback,
  LPCWSTR                    pszNamespace,
  MethodContext              *pMethodContext,
  void                       *pUserData
);

Parâmetros

query

Consulta a ser executada.

pRequester

Ponteiro da instância da classe que está sendo fornecida pelo provedor de estrutura. Esse ponteiro "this" é passado para a função pCallback caso a função de retorno de chamada exija isso.

pCallback

Ponteiro para uma função estática com esse protótipo.

static HRESULT WINAPI Classname::FunctionName(Provider *pProvider,
                                              CInstance *pInstance,
                                              MethodContext *pMethodContext,
                                              void *pUserData );

em que Classname é o nome de uma classe derivada da classe Provider. É uma instância dessa classe que é o ponteiro "this" definido por pRequester.

pszNamespace

Namespace para consulta. Se NULL, o namespace padrão, root\cimv2, será usado.

pMethodContext

Ponteiro para o contexto atual. Um contexto deve ser fornecido para evitar deadlocks. Use o contexto passado para o provedor por Provider::EnumerateInstances ou Provider::ExecQuery ou obtenha-o da instância usando CInstance::GetMethodContext. Esse parâmetro não deve ser NULL.

pUserData

Ponteiro para dados definidos pelo usuário que são passados para a função apontada por pCallback. Se FOR NULL, não haverá dados definidos pelo usuário.

Valor retornado

O método retornará WBEM_S_NO_ERROR se a operação tiver sido bem-sucedida, WBEM_E_OUT_OF_MEMORY se a operação falhou devido à falta de memória ou a qualquer outro código de erro HRESULT.

Comentários

O método GetInstancesByQueryAsynch permite que os provedores de estrutura acessem dados de outros provedores sem precisar fazer uma chamada à API WMI. Os provedores de estrutura passam uma consulta para GetInstancesByQueryAsynch, que retorna as instâncias apropriadas.

Por motivos de desempenho, ao chamar essa função, especifique apenas as propriedades necessárias (por exemplo, especifique o nome SELECT em vez de SELECT *).

Como o retorno de chamada para o coletor pode não ser retornado no mesmo nível de autenticação exigido pelo cliente, é recomendável que você use a comunicação semissíncrona em vez de assíncrona. Se você precisar de comunicação assíncrona, consulte Chamando um método.

Para obter mais informações sobre como usar métodos de forma semissíncrona, consulte CWbemProviderGlue::GetInstancesByQuery e Chamando um método.

Requisitos

   
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho wbemglue.h (inclua FwCommon.h)
Biblioteca FrameDyn.lib
DLL FrameDynOS.dll; FrameDyn.dll