Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você pode usar uma variedade de instruções SELECT para consultar informações de eventos. As instruções podem ser instruções básicas ou podem ser mais restritivas para restringir o conjunto de resultados retornado da consulta.
O exemplo a seguir é uma instrução SELECT básica que é usada para consultar informações de eventos.
SELECT * FROM EventClass
Quando um consumidor envia uma consulta, é uma solicitação para ser notificado de todas as ocorrências do evento representado por EventClass. Essa solicitação inclui uma solicitação de notificação sobre todas as propriedades do sistema de eventos e não do sistema. Quando um provedor de eventos envia uma consulta, ele registra o suporte para gerar notificações quando ocorre um evento representado por EventClass.
Os consumidores podem especificar propriedades individuais em vez do asterisco (*) na instrução SELECT.
O exemplo a seguir mostra como consultar propriedades específicas.
SELECT property_1, property_2, property_3 FROM MyEventClass
No entanto, todas as propriedades de um objeto incorporado são retornadas, mesmo que a consulta especifique propriedades de objeto incorporado.
O exemplo a seguir mostra duas consultas que retornam os mesmos dados.
SELECT targetInstance FROM __InstanceCreationEvent within 2
WHERE targetinstance isa "Win32_Process"
SELECT targetInstance.Name FROM __InstanceCreationEvent within 2
WHERE targetinstance isa "Win32_Process"
Se uma propriedade do sistema não for relevante para uma consulta específica, ela conterá NULL . Por exemplo, o valor da propriedade __RELPATH system é NULL para todas as consultas de eventos.
As seguintes propriedades do sistema contêm NULL para consultas de eventos:
- \_\_Namespace \_\_Path \_\_RelPath \_\_Server
Para obter mais informações, consulte de referência de propriedade do sistema WMI.
Todas as consultas de eventos podem incluir uma cláusula opcional WHERE, mas as cláusulas WHERE são usadas principalmente pelos consumidores para especificar filtragem adicional. Recomenda-se vivamente que os consumidores especifiquem sempre uma cláusula WHERE. O custo de uma consulta complexa é mínimo em comparação com o custo de entrega e processamento de notificações desnecessárias.
O exemplo a seguir mostra uma consulta que solicita notificações de todos os eventos de modificação de instância que afetam a classe hipotética EmailEvent.
SELECT * FROM EmailEvent
Se eventos associados a EmailEvent ocorrerem com frequência, o consumidor será inundado de eventos. Uma consulta melhor solicita eventos somente quando condições específicas usam propriedades da classe especificada, como quando o nível de importância é alto.
O exemplo a seguir mostra a consulta que você pode usar se EmailImportance for uma propriedade da classe EmailEvent.
SELECT * FROM EmailEvent WHERE EmailImportance > 3
Observe que o WMI pode rejeitar uma consulta por vários motivos. Por exemplo, a consulta pode ser demasiado complexa ou consome muitos recursos para avaliação. Quando isso ocorre, o WMI retorna códigos de erro específicos, como WBEM_E_INVALID_QUERY.
As propriedades dos objetos incorporados podem ser usadas na cláusula WHERE.
O exemplo a seguir mostra como consultar objetos em que a propriedade TargetInstance da classe de sistema __InstanceModificationEvent é um objeto Win32_LogicalDisk incorporado e FreeSpace é uma propriedade de Win32_LogicalDisk.
SELECT * FROM __InstanceModificationEvent WITHIN 600
WHERE TargetInstance ISA "Win32_LogicalDisk"
AND TargetInstance.FreeSpace < 1000000