ManagementObject.InvokeMethod Método

Definición

Invoca un método en el objeto.

Sobrecargas

InvokeMethod(String, Object[])

Invoca un método en el objeto.

InvokeMethod(ManagementOperationObserver, String, Object[])

Invoca un método en el objeto, asincrónicamente.

InvokeMethod(String, ManagementBaseObject, InvokeMethodOptions)

Invoca un método en el objeto WMI. Los parámetros de entrada y salida se representan como objetos ManagementBaseObject.

InvokeMethod(ManagementOperationObserver, String, ManagementBaseObject, InvokeMethodOptions)

Invoca un método en el objeto, asincrónicamente.

InvokeMethod(String, Object[])

Invoca un método en el objeto.

public:
 System::Object ^ InvokeMethod(System::String ^ methodName, cli::array <System::Object ^> ^ args);
public object InvokeMethod (string methodName, object[] args);
member this.InvokeMethod : string * obj[] -> obj
Public Function InvokeMethod (methodName As String, args As Object()) As Object

Parámetros

methodName
String

Nombre del método que se va a ejecutar.

args
Object[]

Matriz que contiene valores de parámetros.

Devoluciones

Object

El valor de objeto que devuelve el método

Ejemplos

En el ejemplo siguiente se invoca el método Win32_Process::Create para iniciar un nuevo proceso de 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

Comentarios

Si el método es estático, la ejecución debería seguir siendo correcta.

Seguridad de .NET Framework

Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, consulte Uso de bibliotecas de código de confianza parcial.

Se aplica a

InvokeMethod(ManagementOperationObserver, String, Object[])

Invoca un método en el objeto, asincrónicamente.

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[] -> unit
Public Sub InvokeMethod (watcher As ManagementOperationObserver, methodName As String, args As Object())

Parámetros

watcher
ManagementOperationObserver

Objeto que va a recibir los resultados de la operación.

methodName
String

Nombre del método que se va a ejecutar.

args
Object[]

Matriz que contiene valores de parámetros.

Comentarios

Si el método es estático, la ejecución debería seguir siendo correcta.

Seguridad de .NET Framework

Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, consulte Uso de bibliotecas de código de confianza parcial.

Se aplica a

InvokeMethod(String, ManagementBaseObject, InvokeMethodOptions)

Invoca un método en el objeto WMI. Los parámetros de entrada y salida se representan como objetos ManagementBaseObject.

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.ManagementBaseObject
Public Function InvokeMethod (methodName As String, inParameters As ManagementBaseObject, options As InvokeMethodOptions) As ManagementBaseObject

Parámetros

methodName
String

Nombre del método que se va a ejecutar.

inParameters
ManagementBaseObject

ManagementBaseObject que mantiene los parámetros de entrada del método.

options
InvokeMethodOptions

InvokeMethodOptions que contiene opciones adicionales para la ejecución del método.

Devoluciones

ManagementBaseObject

ManagementBaseObject que contiene los parámetros de salida y el valor devuelto del método ejecutado.

Ejemplos

En el ejemplo siguiente se invoca el método Win32_Process::Create para iniciar un nuevo proceso de 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

Comentarios

Seguridad de .NET Framework

Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, consulte Uso de bibliotecas de código de confianza parcial.

Se aplica a

InvokeMethod(ManagementOperationObserver, String, ManagementBaseObject, InvokeMethodOptions)

Invoca un método en el objeto, asincrónicamente.

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 -> unit
Public Sub InvokeMethod (watcher As ManagementOperationObserver, methodName As String, inParameters As ManagementBaseObject, options As InvokeMethodOptions)

Parámetros

watcher
ManagementOperationObserver

ManagementOperationObserver que se utiliza para controlar el progreso y los resultados de la ejecución asincrónica.

methodName
String

Nombre del método que se va a ejecutar.

inParameters
ManagementBaseObject

ManagementBaseObject que contiene los parámetros de entrada del método.

options
InvokeMethodOptions

InvokeMethodOptions que contiene las opciones adicionales que se utilizan para ejecutar el método.

Comentarios

El método invoca la ejecución del método especificado y, a continuación, devuelve. El progreso y los resultados se notifican a través de eventos en .ManagementOperationObserver

Seguridad de .NET Framework

Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, consulte Uso de bibliotecas de código de confianza parcial.

Se aplica a