Receber notificações de eventos

As consultas de eventos são usadas por consumidores temporários de eventos, consumidores permanentes de eventos e provedores de eventos. Os consumidores de eventos usam consultas de evento para especificar eventos de interesse, e os provedores de eventos usam as consultas para especificar os eventos que eles fornecem.

Os consumidores temporários colocam consultas em chamadas para o método IWbemServices::ExecNotificationQuery ou IWbemServices::ExecNotificationQueryAsync. Os consumidores permanentes de eventos colocam consultas na propriedade Query de uma instância da classe do sistema __EventFilter.

Os provedores de eventos usam consultas de evento para se registrar para dar suporte a um ou mais tipos de eventos. Eles colocam consultas na propriedade EventQueryList de uma instância da classe do sistema __EventProviderRegistration. Todos os provedores de eventos criam uma instância de __EventProviderRegistration para se registrar na WMI (Instrumentação de Gerenciamento do Windows). Para obter mais informações, confira Registrar um provedor de eventos.

Os consumidores e provedores de eventos usam a instrução SELECT e uma cláusula WHERE relacionada para consultas de eventos, além de uma variedade de extensões específicas da WQL (Linguagem de Consulta do WMI). As extensões são usadas para proteger os consumidores de serem inundados com notificações que ocorrem com muita frequência para serem úteis.

Os consumidores que não exigem notificação sempre que um evento ocorre podem especificar as seguintes cláusulas em suas consultas:

As cláusulas WITHIN e HAVING afetam o tempo dos eventos e a cláusula GROUP faz com que um evento representativo seja enviado no lugar de um evento que ocorre com frequência.