ManagementObject.InvokeMethod Metoda

Definicja

Wywołuje metodę dla obiektu.Invokes a method on the object.

Przeciążenia

InvokeMethod(String, Object[])

Wywołuje metodę dla obiektu.Invokes a method on the object.

InvokeMethod(ManagementOperationObserver, String, Object[])

Wywołuje metodę dla obiektu, asynchronicznie.Invokes a method on the object, asynchronously.

InvokeMethod(String, ManagementBaseObject, InvokeMethodOptions)

Wywołuje metodę dla obiektu WMI.Invokes a method on the WMI object. Parametry wejściowe i wyjściowe są reprezentowane jako obiekty ManagementBaseObject.The input and output parameters are represented as ManagementBaseObject objects.

InvokeMethod(ManagementOperationObserver, String, ManagementBaseObject, InvokeMethodOptions)

Wywołuje metodę dla obiektu, asynchronicznie.Invokes a method on the object, asynchronously.

InvokeMethod(String, Object[])

Wywołuje metodę dla obiektu.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[] -> obj
Public Function InvokeMethod (methodName As String, args As Object()) As Object

Parametry

methodName
String

Nazwa metody do wykonania.The name of the method to execute.

args
Object[]

Tablica zawierająca wartości parametrów.An array containing parameter values.

Zwraca

Wartość obiektu zwracana przez metodę.The object value returned by the method.

Przykłady

Poniższy przykład wywołuje metodę Win32_Process:: Create , aby rozpocząć nowy proces programu Notepad. exe.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

Uwagi

Jeśli metoda jest statyczna, wykonanie powinno nadal się powieść.If the method is static, the execution should still succeed.

Zabezpieczenia programu .NET Framework.NET Framework Security

Pełne zaufanie do bezpośredniego obiektu wywołującego.Full trust for the immediate caller. Ten element członkowski nie może być używany przez kod częściowo zaufany.This member cannot be used by partially trusted code. Aby uzyskać więcej informacji, zobacz Używanie bibliotek z częściowo zaufanego kodu.For more information, see Using Libraries from Partially Trusted Code.

InvokeMethod(ManagementOperationObserver, String, Object[])

Wywołuje metodę dla obiektu, asynchronicznie.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[] -> unit
Public Sub InvokeMethod (watcher As ManagementOperationObserver, methodName As String, args As Object())

Parametry

watcher
ManagementOperationObserver

Obiekt, w którym mają zostać odebrane wyniki operacji.The object to receive the results of the operation.

methodName
String

Nazwa metody do wykonania.The name of the method to execute.

args
Object[]

Tablica zawierająca wartości parametrów.An array containing parameter values.

Uwagi

Jeśli metoda jest statyczna, wykonanie powinno nadal się powieść.If the method is static, the execution should still succeed.

Zabezpieczenia programu .NET Framework.NET Framework Security

Pełne zaufanie do bezpośredniego obiektu wywołującego.Full trust for the immediate caller. Ten element członkowski nie może być używany przez kod częściowo zaufany.This member cannot be used by partially trusted code. Aby uzyskać więcej informacji, zobacz Używanie bibliotek z częściowo zaufanego kodu.For more information, see Using Libraries from Partially Trusted Code.

InvokeMethod(String, ManagementBaseObject, InvokeMethodOptions)

Wywołuje metodę dla obiektu WMI.Invokes a method on the WMI object. Parametry wejściowe i wyjściowe są reprezentowane jako obiekty ManagementBaseObject.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.ManagementBaseObject
Public Function InvokeMethod (methodName As String, inParameters As ManagementBaseObject, options As InvokeMethodOptions) As ManagementBaseObject

Parametry

methodName
String

Nazwa metody do wykonania.The name of the method to execute.

inParameters
ManagementBaseObject

ManagementBaseObject przechowujący parametry wejściowe metody.A ManagementBaseObject holding the input parameters to the method.

options
InvokeMethodOptions

InvokeMethodOptions zawierający dodatkowe opcje wykonywania metody.An InvokeMethodOptions containing additional options for the execution of the method.

Zwraca

ManagementBaseObject zawierający parametry wyjściowe i zwracaną metodę.A ManagementBaseObject containing the output parameters and return value of the executed method.

Przykłady

Poniższy przykład wywołuje metodę Win32_Process:: Create w celu uruchomienia nowego procesu Calc. exe.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

Uwagi

Zabezpieczenia programu .NET Framework.NET Framework Security

Pełne zaufanie do bezpośredniego obiektu wywołującego.Full trust for the immediate caller. Ten element członkowski nie może być używany przez kod częściowo zaufany.This member cannot be used by partially trusted code. Aby uzyskać więcej informacji, zobacz Używanie bibliotek z częściowo zaufanego kodu.For more information, see Using Libraries from Partially Trusted Code.

InvokeMethod(ManagementOperationObserver, String, ManagementBaseObject, InvokeMethodOptions)

Wywołuje metodę dla obiektu, asynchronicznie.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 -> unit
Public Sub InvokeMethod (watcher As ManagementOperationObserver, methodName As String, inParameters As ManagementBaseObject, options As InvokeMethodOptions)

Parametry

watcher
ManagementOperationObserver

ManagementOperationObserver używany do obsługi postępu i wyników wykonywania asynchronicznego.A ManagementOperationObserver used to handle the asynchronous execution's progress and results.

methodName
String

Nazwa metody, która ma zostać wykonana.The name of the method to be executed.

inParameters
ManagementBaseObject

ManagementBaseObject zawierający parametry wejściowe dla metody.A ManagementBaseObject containing the input parameters for the method.

options
InvokeMethodOptions

InvokeMethodOptions zawierający dodatkowe opcje używane do wykonywania metody.An InvokeMethodOptions containing additional options used to execute the method.

Uwagi

Metoda wywołuje wykonywanie określonego metody, a następnie zwraca.The method invokes the specified method execution and then returns. Postęp i wyniki są raportowane za pomocą zdarzeń na ManagementOperationObserver.Progress and results are reported through events on the ManagementOperationObserver.

Zabezpieczenia programu .NET Framework.NET Framework Security

Pełne zaufanie do bezpośredniego obiektu wywołującego.Full trust for the immediate caller. Ten element członkowski nie może być używany przez kod częściowo zaufany.This member cannot be used by partially trusted code. Aby uzyskać więcej informacji, zobacz Używanie bibliotek z częściowo zaufanego kodu.For more information, see Using Libraries from Partially Trusted Code.

Dotyczy