// Logical consumer classes. // ========================= class MyConsumer : __EventConsumer { [key] string Name; }; instance of MyConsumer as $CONS1 { Name = "Consumer1"; }; instance of MyConsumer as $CONS2 { Name = "Consumer2"; }; // Provider registration. // ====================== instance of __Win32Provider as $P { Name = "MyEventConsumer"; CLSID = "{4916157B-FBE7-11d1-AEC4-00C04FB68820}"; DefaultMachineName = NULL; ClientLoadableCLSID = NULL; ImpersonationLevel = 0; PerUserInitialization = FALSE; Pure = TRUE; UnloadTimeout = NULL; }; instance of __EventConsumerProviderRegistration { Provider = $P; ConsumerClassNames = { "MyConsumer" }; }; // Two different filter queries one for each consumer. // =================================================== instance of __EventFilter as $FILT1 { Name = "MyConsumer_Filter_A"; Query = "SELECT * FROM MyEvent where Value >= 10"; QueryLanguage = "WQL"; }; instance of __EventFilter as $FILT2 { Name = "MyConsumer_Filter_B"; Query = "SELECT * FROM MyEvent where Value < 10"; QueryLanguage = "WQL"; }; // Bind the filter to two different logical consumers. // =================================================== instance of __FilterToConsumerBinding { Consumer = $CONS1; Filter = $FILT1; DeliverSynchronously = FALSE; }; instance of __FilterToConsumerBinding { Consumer = $CONS2; Filter = $FILT2; DeliverSynchronously = FALSE; };