次の方法で共有


ManagementObject.InvokeMethod メソッド

定義

オブジェクトのメソッドを呼び出します。

オーバーロード

InvokeMethod(String, Object[])

オブジェクトのメソッドを呼び出します。

InvokeMethod(ManagementOperationObserver, String, Object[])

オブジェクトのメソッドを非同期的に呼び出します。

InvokeMethod(String, ManagementBaseObject, InvokeMethodOptions)

WMI オブジェクトのメソッドを呼び出します。 入力パラメーターと出力パラメーターは、ManagementBaseObject オブジェクトとして表します。

InvokeMethod(ManagementOperationObserver, String, ManagementBaseObject, InvokeMethodOptions)

オブジェクトのメソッドを非同期的に呼び出します。

InvokeMethod(String, Object[])

ソース:
ManagementObject.cs
ソース:
ManagementObject.cs
ソース:
ManagementObject.cs

オブジェクトのメソッドを呼び出します。

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

パラメーター

methodName
String

実行するメソッドの名前。

args
Object[]

パラメーター値を格納している配列。

戻り値

メソッドが返すオブジェクト値。

次の例では、Win32_Process::Create メソッドを呼び出して、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

注釈

メソッドが静的な場合でも、実行は成功するはずです。

.NET Framework のセキュリティ

直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「 部分信頼コードからのライブラリの使用」を参照してください。

適用対象

InvokeMethod(ManagementOperationObserver, String, Object[])

ソース:
ManagementObject.cs
ソース:
ManagementObject.cs
ソース:
ManagementObject.cs

オブジェクトのメソッドを非同期的に呼び出します。

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())

パラメーター

watcher
ManagementOperationObserver

操作の結果を受け取るオブジェクト。

methodName
String

実行するメソッドの名前。

args
Object[]

パラメーター値を格納している配列。

注釈

メソッドが静的な場合でも、実行は成功するはずです。

.NET Framework のセキュリティ

直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「 部分信頼コードからのライブラリの使用」を参照してください。

適用対象

InvokeMethod(String, ManagementBaseObject, InvokeMethodOptions)

ソース:
ManagementObject.cs
ソース:
ManagementObject.cs
ソース:
ManagementObject.cs

WMI オブジェクトのメソッドを呼び出します。 入力パラメーターと出力パラメーターは、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

パラメーター

methodName
String

実行するメソッドの名前。

inParameters
ManagementBaseObject

メソッドの入力パラメーターを格納している ManagementBaseObject

options
InvokeMethodOptions

メソッドの実行に対する追加オプションを格納している InvokeMethodOptions

戻り値

出力パラメーターと実行メソッドの戻り値を格納している ManagementBaseObject

次の例では、Win32_Process::Create メソッドを呼び出して、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

注釈

.NET Framework のセキュリティ

直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「 部分信頼コードからのライブラリの使用」を参照してください。

適用対象

InvokeMethod(ManagementOperationObserver, String, ManagementBaseObject, InvokeMethodOptions)

ソース:
ManagementObject.cs
ソース:
ManagementObject.cs
ソース:
ManagementObject.cs

オブジェクトのメソッドを非同期的に呼び出します。

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)

パラメーター

watcher
ManagementOperationObserver

非同期実行の進行状況と結果を処理するために使用する ManagementOperationObserver

methodName
String

実行するメソッドの名前。

inParameters
ManagementBaseObject

メソッドの入力パラメーターを格納している ManagementBaseObject

options
InvokeMethodOptions

メソッドの実行のために使用する追加オプションを格納している InvokeMethodOptions

注釈

メソッドは、指定したメソッドの実行を呼び出し、 を返します。 進行状況と結果は、 の ManagementOperationObserverイベントを通じて報告されます。

.NET Framework のセキュリティ

直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「 部分信頼コードからのライブラリの使用」を参照してください。

適用対象