I have the following code

Code:
Private Sub GetOtherData()

        If My.Settings.ScanServices Then
            Me.GetServices()
        End If
End Sub

    Private Sub GetServices()
        Dim Services_worker As New System.ComponentModel.BackgroundWorker
        AddHandler Services_worker.DoWork, New System.ComponentModel.DoWorkEventHandler(AddressOf Me.WW.GetServices)
        AddHandler Services_worker.RunWorkerCompleted, _
        New System.ComponentModel.RunWorkerCompletedEventHandler(AddressOf Me.ServicesWorkerCompleted)
        Services_worker.RunWorkerAsync()
    End Sub
    Private Sub ServicesWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs)
        Dim ServColor As Color

        For Each Item As ManagementBaseObject In DirectCast(e.Result, ManagementObjectCollection)
            If CStr(Item("State")) = "Stopped" Then
                ServColor = Color.Red
            Else
                ServColor = Color.Black
            End If
            MsgBox(Item("name"))
            lvh.AddListViewItem(Me.lv_Services, _
                                "ico_services", _
                                ServColor, _
                                CStr(Item("Name")), _
                               New String() {CStr(Item("DisplayName")), _
                                CStr(Item("State")), _
                                CStr(Item("StartMode")), _
                                CStr(Item("StartName")), _
                                CStr(Item("PathName")), _
                                CStr(Item("Description"))})

        Next
        lvh.AutoSizeColumns(Me.lv_Services)
        lvh.ExportLV2XML(Me.lv_Services, False, "Services")
        Me.bln_ServicesInfo = True
    End Sub

Code:
Option Strict On
Option Explicit On
Imports System.Management
Public Class WMIWrapper
    Public Sub GetServices(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
        e.Result = Me.RunQuery("select * from Win32_Service")
    End Sub
End Class
I get a "Exception has been thrown by the target of an invocation."

Is the e.result from the DoWork event passed automatically to the RunWorkerCompleted method by the BackgroundWorker? If not, how can I pass it?