ManagementObject.InvokeMethod Method   
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Invokes a method on the object.
Overloads
| InvokeMethod(String, Object[]) | Invokes a method on the object. | 
| InvokeMethod(ManagementOperationObserver, String, Object[]) | Invokes a method on the object, asynchronously. | 
| InvokeMethod(String, ManagementBaseObject, InvokeMethodOptions) | Invokes a method on the WMI object. The input and output parameters are represented as ManagementBaseObject objects. | 
| InvokeMethod(ManagementOperationObserver, String, ManagementBaseObject, InvokeMethodOptions) | Invokes a method on the object, asynchronously. | 
InvokeMethod(String, Object[])
- Source:
- ManagementObject.cs
- Source:
- ManagementObject.cs
- Source:
- ManagementObject.cs
Invokes a method on the object.
public:
 System::Object ^ InvokeMethod(System::String ^ methodName, cli::array <System::Object ^> ^ args);public object InvokeMethod(string methodName, object[] args);member this.InvokeMethod : string * obj[] -> objPublic Function InvokeMethod (methodName As String, args As Object()) As ObjectParameters
- methodName
- String
The name of the method to execute.
- args
- Object[]
An array containing parameter values.
Returns
The object value returned by the method.
Examples
The following example invokes the Win32_Process::Create method to start a new process of Notepad.exe.
using System;
using System.Management;
// This sample demonstrates invoking
// a WMI method using an array of arguments.
public class InvokeMethod
{
    public static void Main()
    {
        // Get the object on which the
        // method will be invoked
        ManagementClass processClass =
            new ManagementClass("Win32_Process");
        // Create an array containing all
        // arguments for the method
        object[] methodArgs =
            {"notepad.exe", null, null, 0};
        //Execute the method
        object result =
            processClass.InvokeMethod(
            "Create", methodArgs);
        //Display results
        Console.WriteLine(
            "Creation of process returned: " + result);
        Console.WriteLine("Process id: " + methodArgs[3]);
    }
}
Imports System.Management
' This sample demonstrates invoking a WMI method
' using an array of arguments.
Class InvokeMethod
    Public Overloads Shared Function _
        Main(ByVal args() As String) As Integer
        ' Get the object on which the method will be invoked
        Dim processClass As _
            New ManagementClass("Win32_Process")
        ' Create an array containing all arguments 
        ' for the method
        Dim methodArgs() As Object = _
            {"notepad.exe", Nothing, Nothing, 0}
        ' Execute the method
        Dim result As Object = _
            processClass.InvokeMethod("Create", methodArgs)
        ' Display results
        Console.WriteLine( _
            "Creation of process returned: {0}", result)
        Console.WriteLine( _
            "Process id: {0}", methodArgs(3))
        Return 0
    End Function
End Class
Remarks
If the method is static, the execution should still succeed.
.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.
Applies to
InvokeMethod(ManagementOperationObserver, String, Object[])
- Source:
- ManagementObject.cs
- Source:
- ManagementObject.cs
- Source:
- ManagementObject.cs
Invokes a method on the object, asynchronously.
public:
 void InvokeMethod(System::Management::ManagementOperationObserver ^ watcher, System::String ^ methodName, cli::array <System::Object ^> ^ args);public void InvokeMethod(System.Management.ManagementOperationObserver watcher, string methodName, object[] args);member this.InvokeMethod : System.Management.ManagementOperationObserver * string * obj[] -> unitPublic Sub InvokeMethod (watcher As ManagementOperationObserver, methodName As String, args As Object())Parameters
- watcher
- ManagementOperationObserver
The object to receive the results of the operation.
- methodName
- String
The name of the method to execute.
- args
- Object[]
An array containing parameter values.
Remarks
If the method is static, the execution should still succeed.
.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.
Applies to
InvokeMethod(String, ManagementBaseObject, InvokeMethodOptions)
- Source:
- ManagementObject.cs
- Source:
- ManagementObject.cs
- Source:
- ManagementObject.cs
Invokes a method on the WMI object. The input and output parameters are represented as ManagementBaseObject objects.
public:
 System::Management::ManagementBaseObject ^ InvokeMethod(System::String ^ methodName, System::Management::ManagementBaseObject ^ inParameters, System::Management::InvokeMethodOptions ^ options);public System.Management.ManagementBaseObject InvokeMethod(string methodName, System.Management.ManagementBaseObject inParameters, System.Management.InvokeMethodOptions options);member this.InvokeMethod : string * System.Management.ManagementBaseObject * System.Management.InvokeMethodOptions -> System.Management.ManagementBaseObjectPublic Function InvokeMethod (methodName As String, inParameters As ManagementBaseObject, options As InvokeMethodOptions) As ManagementBaseObjectParameters
- methodName
- String
The name of the method to execute.
- inParameters
- ManagementBaseObject
A ManagementBaseObject holding the input parameters to the method.
- options
- InvokeMethodOptions
An InvokeMethodOptions containing additional options for the execution of the method.
Returns
A ManagementBaseObject containing the output parameters and return value of the executed method.
Examples
The following example invokes the Win32_Process::Create method to start a new process of Calc.exe.
using System;
using System.Management;
// This sample demonstrates invoking
// a WMI method using parameter objects
public class InvokeMethod
{
    public static void Main()
    {
        // Get the object on which the method will be invoked
        ManagementClass processClass =
            new ManagementClass("Win32_Process");
        // Get an input parameters object for this method
        ManagementBaseObject inParams =
            processClass.GetMethodParameters("Create");
        // Fill in input parameter values
        inParams["CommandLine"] = "calc.exe";
        // Execute the method
        ManagementBaseObject outParams =
            processClass.InvokeMethod ("Create",
            inParams, null);
        // Display results
        // Note: The return code of the method is
        // provided in the "returnValue" property
        // of the outParams object
        Console.WriteLine(
            "Creation of calculator process returned: "
            + outParams["returnValue"]);
        Console.WriteLine("Process ID: "
            + outParams["processId"]);
    }
}
Imports System.Management
' This sample demonstrates invoking
' a WMI method using parameter objects
Class InvokeMethod
    Public Overloads Shared Function _
        Main(ByVal args() As String) As Integer
        ' Get the object on which the
        ' method will be invoked
        Dim processClass As _
            New ManagementClass("Win32_Process")
        ' Get an input parameters object for this method
        Dim inParams As ManagementBaseObject = _
            processClass.GetMethodParameters("Create")
        ' Fill in input parameter values
        inParams("CommandLine") = "calc.exe"
        ' Execute the method
        Dim outParams As ManagementBaseObject = _
            processClass.InvokeMethod( _
            "Create", inParams, Nothing)
        ' Display results
        ' Note: The return code of the method 
        ' is provided in the "returnValue" property
        ' of the outParams object
        Console.WriteLine( _
            "Creation of calculator process returned: {0}", _
            outParams("returnValue"))
        Console.WriteLine("Process ID: {0}", _
            outParams("processId"))
        Return 0
    End Function
End Class
Remarks
.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.
Applies to
InvokeMethod(ManagementOperationObserver, String, ManagementBaseObject, InvokeMethodOptions)
- Source:
- ManagementObject.cs
- Source:
- ManagementObject.cs
- Source:
- ManagementObject.cs
Invokes a method on the object, asynchronously.
public:
 void InvokeMethod(System::Management::ManagementOperationObserver ^ watcher, System::String ^ methodName, System::Management::ManagementBaseObject ^ inParameters, System::Management::InvokeMethodOptions ^ options);public void InvokeMethod(System.Management.ManagementOperationObserver watcher, string methodName, System.Management.ManagementBaseObject inParameters, System.Management.InvokeMethodOptions options);member this.InvokeMethod : System.Management.ManagementOperationObserver * string * System.Management.ManagementBaseObject * System.Management.InvokeMethodOptions -> unitPublic Sub InvokeMethod (watcher As ManagementOperationObserver, methodName As String, inParameters As ManagementBaseObject, options As InvokeMethodOptions)Parameters
- watcher
- ManagementOperationObserver
A ManagementOperationObserver used to handle the asynchronous execution's progress and results.
- methodName
- String
The name of the method to be executed.
- inParameters
- ManagementBaseObject
A ManagementBaseObject containing the input parameters for the method.
- options
- InvokeMethodOptions
An InvokeMethodOptions containing additional options used to execute the method.
Remarks
The method invokes the specified method execution and then returns. Progress and results are reported through events on the ManagementOperationObserver.
.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.