Compartilhar via


Método CWbemProviderGlue::GetAllInstancesAsynch (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 GetAllInstancesAsynch recupera uma lista de instâncias retornadas por uma classe específica. Esse método permite que o provedor responda de forma assíncrona retornando uma instância de cada vez.

Sintaxe

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

Parâmetros

pszClassName

Nome da classe para a qual a lista de instâncias deve ser retornada.

pRequester

O ponteiro "This" para a função de retorno de chamada apontada por pCallback.

pCallback

Ponteiro para uma função estática com este 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. Essa função é chamada para retornar cada instância com suporte pelo provedor especificado por pszClassName.

pszNamespace

Namespace do provedor especificado por pszClassName. Esse parâmetro pode ser NULL para indicar o namespace padrão, que é root\cimv2.

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, em seguida, 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.

Retornar valor

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 GetAllInstancesAsynch executa quase a mesma função que GetAllInstances. No entanto, em vez de retornar uma matriz arbitrariamente grande de instâncias, o provedor passa uma instância para a função especificada por pCallback sempre que a instância é recuperada de um provedor. Isso permite que o provedor use menos memória e comece a retornar instâncias ao cliente mais cedo.

Nota 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. Para obter mais informações, confira Como chamar um método.
 
Esse método é semanticamente equivalente à consulta SELECT * FROM pszBaseClassName WHERE __Class = pszBaseClassName.

Requisitos

Requisito Valor
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