Método IWbemEventProviderQuerySink::NewQuery (wbemprov.h)
Chame o método IWbemEventProviderQuerySink::NewQuery quando um consumidor de evento lógico registrar um filtro de consulta de evento relevante com o Gerenciamento do Windows. O método NewQuery determina como um provedor responde a uma nova consulta registrada por um aplicativo cliente. Quando o WMI recebe uma consulta de evento nova ou modificada de um consumidor, o WMI chama NewQuery para ecoar a consulta para o provedor de eventos. Em seguida, o provedor gera a notificação solicitada.
Sintaxe
HRESULT NewQuery(
[in] unsigned long dwId,
[in] WBEM_WSTR wszQueryLanguage,
[in] WBEM_WSTR wszQuery
);
Parâmetros
[in] dwId
Identificador gerado pelo Gerenciamento do Windows para a consulta. O provedor pode acompanhar isso para que, durante uma chamada posterior para CancelQuery , o provedor saiba qual consulta foi cancelada.
[in] wszQueryLanguage
Idioma do filtro de consulta a seguir. Para esta versão do WMI, ela sempre será "WQL".
[in] wszQuery
Texto do filtro de consulta de evento, que foi registrado por um consumidor lógico. O provedor de eventos pode examinar o texto do filtro de consulta por meio do parâmetro wszQuery e do idioma do filtro de consulta no parâmetro wszQueryLanguage para descobrir quais notificações de evento o consumidor está solicitando.
Retornar valor
Esse método retorna um HRESULT que indica o status da chamada de método. A lista a seguir lista os códigos de retorno retornados por NewQuery. Além disso, um provedor de eventos de terceiros pode retornar qualquer código de retorno WMI ou COM válido que possa ser passado por meio de NewQuery como um valor retornado.
Comentários
Se um consumidor registrar uma consulta de filtro de evento com o Gerenciamento do Windows e a consulta contiver referências a eventos fornecidos pelo provedor de eventos atual, o Gerenciamento do Windows poderá notificar o provedor de eventos da consulta.
Se o provedor implementar a interface IWbemEventProviderQuerySink , o Gerenciamento do Windows fornecerá uma cópia do texto da consulta ao provedor. O provedor deve analisar a consulta e determinar se ela pode executar qualquer otimização interna.
O Gerenciamento do Windows não espera que um provedor altere seu comportamento de forma alguma. Em vez disso, essa é uma chamada de consultoria para ajudar o provedor com otimização interna.
Por exemplo, se o provedor for capaz de fornecer muitas centenas de eventos, mas a sobrecarga necessária para fornecer todos eles for ótima, o provedor poderá obter economias substanciais se souber que a maioria desses eventos não é exigida pelo conjunto atual de consumidores de eventos. Se o provedor implementar IWbemEventProviderQuerySink, ele saberá sobre o conjunto atual de eventos solicitado por todos os consumidores. Ele pode ser capaz de evitar a configuração dos mecanismos para fornecer a maioria dos tipos de eventos aos quais dá suporte até que os consumidores realmente comecem a solicitar esses eventos.
Para cada novo filtro de consulta do consumidor, será feita uma chamada separada para esse método com um dwId exclusivo. Lembre-se de que o Gerenciamento do Windows se reserva o direito de chamar NewQuery mais de uma vez para o mesmo valor dwId; por exemplo, se houver uma alteração de esquema em outro lugar no sistema. Para esta versão do WMI, a linguagem de consulta é sempre "WQL".
O método IWbemEventProviderQuerySink::NewQuery pode ser chamado antes do método IWbemEventProvider::P rovideEvents .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | wbemprov.h (include Wbemidl.h) |
Biblioteca | Wbemuuid.lib |
DLL | Wbemsvc.dll |