Holds event data for the EventArrived event.
Assembly: System.Management (in System.Management.dll)
Thetype exposes the following members.
|Equals(Object)||Determines whether the specified object is equal to the current object. (Inherited from Object.)|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)|
|GetHashCode||Serves as the default hash function. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
The following asynchronous example sets up a WMI timer to raise an event every second, and removes it when no longer needed. The ManagementEventWatcher defines several .NET Framework events which are raised when WMI events are delivered. Delegates are attached to these events for handling the incoming data.
Imports System Imports System.Management ' This example shows asynchronous consumption of events. ' In this example you are listening for timer events. ' The first part of the example sets up the timer. Public Class EventWatcherAsync Public Sub New() ' Set up a timer to raise events every 1 second '============================================= Dim timerClass As New ManagementClass( _ "__IntervalTimerInstruction") Dim timer As ManagementObject = _ timerClass.CreateInstance() timer("TimerId") = "Timer1" timer("IntervalBetweenEvents") = 1000 timer.Put() ' Set up the event consumer '========================== ' Create event query to receive timer events Dim query As New WqlEventQuery("__TimerEvent", _ "TimerId=""Timer1""") ' Initialize an event watcher and subscribe to ' events that match this query Dim watcher As New ManagementEventWatcher(query) ' Set up a listener for events AddHandler watcher.EventArrived, _ AddressOf Me.HandleEvent ' Start listening watcher.Start() ' Do something in the meantime System.Threading.Thread.Sleep(10000) ' Stop listening watcher.Stop() End Sub Private Sub HandleEvent(ByVal sender As Object, _ ByVal e As EventArrivedEventArgs) Console.WriteLine("Event arrived !") End Sub Public Overloads Shared Function _ Main(ByVal args() As String) As Integer 'start the event watcher Dim eventWatcher As New EventWatcherAsync Return 0 End Function End Class