Método CWbemProviderGlue::GetAllDerivedInstancesAsynch (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 GetAllDerivedInstancesAsynch recupera uma lista de instâncias compatíveis com um provedor específico e derivadas de uma classe base específica. Esse método permite que o provedor responda de forma assíncrona retornando uma instância de cada vez.
Sintaxe
HRESULT GetAllDerivedInstancesAsynch(
LPCWSTR pszBaseClassName,
Provider *pRequester,
LPProviderInstanceCallback pCallback,
LPCWSTR pszNamespace,
MethodContext *pMethodContext,
void *pUserData
);
Parâmetros
pszBaseClassName
Nome da classe base para a qual a lista deve ser retornada.
pRequester
Ponteiro para a função de retorno de chamada apontada por pCallback.
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. Essa função é chamada para retornar cada instância com suporte pelo provedor especificado por pszClassName.
pszNamespace
Namespace do nome da classe especificado por pszClassName. Quando esse parâmetro é NULL, o namespace padrão root\cimv2 é 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, 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.
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 GetAllDerivedInstancesAsynch executa quase a mesma função que GetAllDerivedInstances. 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.
Esse método é semanticamente equivalente à consulta SELECT * FROM pszBaseClassName.
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, no entanto, 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::GetAllDerivedInstances 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 |