Compartilhar via


ManagementObject.InvokeMethod Método

Definição

Invoca um método no objeto.

Sobrecargas

InvokeMethod(String, Object[])

Invoca um método no objeto.

InvokeMethod(ManagementOperationObserver, String, Object[])

Invoca um método no objeto de forma assíncrona.

InvokeMethod(String, ManagementBaseObject, InvokeMethodOptions)

Invoca um método no objeto WMI. Os parâmetros de entrada e saída são representados como objetos ManagementBaseObject.

InvokeMethod(ManagementOperationObserver, String, ManagementBaseObject, InvokeMethodOptions)

Invoca um método no objeto de forma assíncrona.

InvokeMethod(String, Object[])

Origem:
ManagementObject.cs
Origem:
ManagementObject.cs
Origem:
ManagementObject.cs

Invoca um método no 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

O nome do método a ser executado.

args
Object[]

Uma matriz que contém os valores de parâmetro.

Retornos

O valor de objeto retornado pelo método.

Exemplos

O exemplo a seguir invoca o método Win32_Process::Create para iniciar um novo processo 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

Comentários

Se o método for estático, a execução ainda deverá ser bem-sucedida.

Segurança do .NET Framework

Confiança total para o chamador imediato. Este membro não pode ser usado pelo código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.

Aplica-se a

InvokeMethod(ManagementOperationObserver, String, Object[])

Origem:
ManagementObject.cs
Origem:
ManagementObject.cs
Origem:
ManagementObject.cs

Invoca um método no objeto de forma assíncrona.

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

O objeto para receber os resultados da operação.

methodName
String

O nome do método a ser executado.

args
Object[]

Uma matriz que contém os valores de parâmetro.

Comentários

Se o método for estático, a execução ainda deverá ser bem-sucedida.

Segurança do .NET Framework

Confiança total para o chamador imediato. Este membro não pode ser usado pelo código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.

Aplica-se a

InvokeMethod(String, ManagementBaseObject, InvokeMethodOptions)

Origem:
ManagementObject.cs
Origem:
ManagementObject.cs
Origem:
ManagementObject.cs

Invoca um método no objeto WMI. Os parâmetros de entrada e saída são representados 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

O nome do método a ser executado.

inParameters
ManagementBaseObject

Um ManagementBaseObject que contém os parâmetros de entrada para o método.

options
InvokeMethodOptions

Um InvokeMethodOptions que contém opções adicionais para a execução do método.

Retornos

Um ManagementBaseObject que contém os parâmetros de saída e o valor retornado do método executado.

Exemplos

O exemplo a seguir invoca o método Win32_Process::Create para iniciar um novo processo 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

Comentários

Segurança do .NET Framework

Confiança total para o chamador imediato. Este membro não pode ser usado pelo código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.

Aplica-se a

InvokeMethod(ManagementOperationObserver, String, ManagementBaseObject, InvokeMethodOptions)

Origem:
ManagementObject.cs
Origem:
ManagementObject.cs
Origem:
ManagementObject.cs

Invoca um método no objeto de forma assíncrona.

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

Um ManagementOperationObserver usado para controlar o progresso e os resultados da execução assíncrona.

methodName
String

O nome do método a ser executado.

inParameters
ManagementBaseObject

Um ManagementBaseObject que contém os parâmetros de entrada para o método.

options
InvokeMethodOptions

Um InvokeMethodOptions que contém opções adicionais usadas para a execução do método.

Comentários

O método invoca a execução do método especificado e retorna. O progresso e os resultados são relatados por meio de eventos no ManagementOperationObserver.

Segurança do .NET Framework

Confiança total para o chamador imediato. Este membro não pode ser usado pelo código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.

Aplica-se a