Share via


InvokeMethodOptions Costruttori

Definizione

Inizializza una nuova istanza della classe InvokeMethodOptions per l'operazione invoke.

Overload

InvokeMethodOptions()

Inizializza una nuova istanza della classe InvokeMethodOptions per l'operazione InvokeMethod(String, Object[]), utilizzando i valori predefiniti. Si tratta del costruttore senza parametri.

InvokeMethodOptions(ManagementNamedValueCollection, TimeSpan)

Inizializza una nuova istanza della classe InvokeMethodOptions per un'operazione invoke, utilizzando i valori specificati.

InvokeMethodOptions()

Origine:
ManagementOptions.cs
Origine:
ManagementOptions.cs
Origine:
ManagementOptions.cs

Inizializza una nuova istanza della classe InvokeMethodOptions per l'operazione InvokeMethod(String, Object[]), utilizzando i valori predefiniti. Si tratta del costruttore senza parametri.

public:
 InvokeMethodOptions();
public InvokeMethodOptions ();
Public Sub New ()

Esempio

Nell'esempio seguente viene richiamato il metodo Win32_Process::Create per avviare un nuovo processo di Calc.exe. Viene utilizzato il costruttore senza parametri della InvokeMethodOptions classe .

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";

        // Method Options
        InvokeMethodOptions methodOptions = new
            InvokeMethodOptions();
        methodOptions.Timeout =
            System.TimeSpan.MaxValue;

        // Execute the method
        ManagementBaseObject outParams =
            processClass.InvokeMethod("Create",
            inParams, methodOptions);

        // 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("root\CIMV2", _
            "Win32_Process", _
            Nothing)

        ' Get an input parameters object for this method
        Dim inParams As ManagementBaseObject = _
            processClass.GetMethodParameters("Create")

        ' Fill in input parameter values
        inParams("CommandLine") = "calc.exe"

        ' Method Options
        Dim methodOptions As New InvokeMethodOptions
        methodOptions.Timeout = _
            System.TimeSpan.MaxValue

        ' Execute the method
        Dim outParams As ManagementBaseObject = _
            processClass.InvokeMethod( _
            "Create", inParams, methodOptions)

        ' 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

Commenti

Sicurezza di .NET Framework

Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Uso di librerie da codice parzialmente attendibile.

Si applica a

InvokeMethodOptions(ManagementNamedValueCollection, TimeSpan)

Origine:
ManagementOptions.cs
Origine:
ManagementOptions.cs
Origine:
ManagementOptions.cs

Inizializza una nuova istanza della classe InvokeMethodOptions per un'operazione invoke, utilizzando i valori specificati.

public:
 InvokeMethodOptions(System::Management::ManagementNamedValueCollection ^ context, TimeSpan timeout);
public InvokeMethodOptions (System.Management.ManagementNamedValueCollection context, TimeSpan timeout);
new System.Management.InvokeMethodOptions : System.Management.ManagementNamedValueCollection * TimeSpan -> System.Management.InvokeMethodOptions
Public Sub New (context As ManagementNamedValueCollection, timeout As TimeSpan)

Parametri

context
ManagementNamedValueCollection

Oggetto coppie di valori denominati e specifici del provider da passare al provider.

timeout
TimeSpan

Periodo di tempo per consentire l'esecuzione dell'operazione prima del timeout. Il valore predefinito è TimeSpan.MaxValue. Impostando questo parametro, l'operazione verrà richiamata in modo semisincrono.

Esempio

Nell'esempio seguente viene richiamato il metodo Win32_Process::Create per avviare un nuovo processo di Calc.exe. La InvokeMethodOptions classe viene utilizzata per richiamare il metodo .

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";

        // Method Options
        InvokeMethodOptions methodOptions = new
            InvokeMethodOptions(null,
            System.TimeSpan.MaxValue);

        // Execute the method
        ManagementBaseObject outParams =
            processClass.InvokeMethod("Create",
            inParams, methodOptions);

        // 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("root\CIMV2", _
            "Win32_Process", _
            Nothing)

        ' Get an input parameters object for this method
        Dim inParams As ManagementBaseObject = _
            processClass.GetMethodParameters("Create")

        ' Fill in input parameter values
        inParams("CommandLine") = "calc.exe"

        ' Method Options
        Dim methodOptions As New InvokeMethodOptions( _
            Nothing, System.TimeSpan.MaxValue)

        ' Execute the method
        Dim outParams As ManagementBaseObject = _
            processClass.InvokeMethod( _
            "Create", inParams, methodOptions)

        ' 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

Commenti

Sicurezza di .NET Framework

Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Uso di librerie da codice parzialmente attendibile.

Si applica a