ManagementOperationObserver.Completed Event

Occurs when an operation has completed.

Namespace: System.Management
Assembly: System.Management (in system.management.dll)

'Declaration
Public Event Completed As CompletedEventHandler
'Usage
Dim instance As ManagementOperationObserver
Dim handler As CompletedEventHandler

AddHandler instance.Completed, handler

/** @event */
public void add_Completed (CompletedEventHandler value)

/** @event */
public void remove_Completed (CompletedEventHandler value)

In JScript, you can handle the events defined by a class, but you cannot define your own.
Not applicable.

Event Data

The event handler receives an argument of type CompletedEventArgs containing data related to this event. The following CompletedEventArgs properties provide information specific to this event.

Property

Description

Context (inherited from ManagementEventArgs)

Gets the operation context echoed back from the operation that triggered the event.

Status

Gets the completion status of the operation.

StatusObject

Gets or sets additional status information within a WMI object. This may be null.

.NET Framework Security

Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.

The following example demonstrates how to perform an asynchronous instance enumeration. The example uses the ManagementOperationObserver class to handle management information and events asynchronously.

Imports System
Imports System.Management

' This example demonstrates how
' to perform an asynchronous instance enumeration.

Public Class EnumerateInstancesAsync

    Public Sub New()

        Me.isCompleted = False

        ' Enumerate asynchronously using Object Searcher
        ' ===============================================

        ' Instantiate an object searcher with the query
        Dim searcher As ManagementObjectSearcher
        searcher = New ManagementObjectSearcher( _
            New SelectQuery("Win32_Service"))

        ' Create a results watcher object, 
        ' and handler for results and completion
        Dim results As ManagementOperationObserver
        results = New ManagementOperationObserver

        ' Attach handler to events for
        ' results and completion
        AddHandler results.ObjectReady, _
            AddressOf Me.NewObject
        AddHandler results.Completed, _
            AddressOf Me.Done

        ' Call the asynchronous overload of
        ' Get() to start the enumeration
        searcher.Get(results)

        ' Do something else while results 
        ' arrive(asynchronously)
        Do While (Me.Completed.Equals(False))

            System.Threading.Thread.Sleep(1000)
        Loop

        Me.Reset()

    End Sub

    Private isCompleted As Boolean

    Private Sub NewObject(ByVal sender As Object, _
        ByVal e As ObjectReadyEventArgs)

        Console.WriteLine("Service : {0}, State = {1}", _
         e.NewObject("Name"), e.NewObject("State"))
    End Sub

    Private ReadOnly Property Completed() As Boolean
        Get
            Return isCompleted
        End Get
    End Property

    Private Sub Reset()

        isCompleted = False
    End Sub

    Private Sub Done(ByVal sender As Object, _
        ByVal e As CompletedEventArgs)

        isCompleted = True
    End Sub


    Public Shared Function _
        Main(ByVal args() As String) As Integer

        Dim example As New EnumerateInstancesAsync

        Return 0

    End Function

End Class

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show: