ManagementObject.InvokeMethod Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Invoca un método en el objeto .
Sobrecargas
| Nombre | Description |
|---|---|
| InvokeMethod(String, Object[]) |
Invoca un método en el objeto . |
| InvokeMethod(ManagementOperationObserver, String, Object[]) |
Invoca un método en el objeto de forma asincrónica. |
| InvokeMethod(String, ManagementBaseObject, InvokeMethodOptions) |
Invoca un método en el objeto WMI. Los parámetros de entrada y salida se representan como ManagementBaseObject objetos . |
| InvokeMethod(ManagementOperationObserver, String, ManagementBaseObject, InvokeMethodOptions) |
Invoca un método en el objeto de forma asincrónica. |
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ámetro.
Devoluciones
Valor del objeto devuelto por 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 todavía debe realizarse correctamente.
Seguridad de .NET Framework
Plena confianza para el llamador inmediato. El código de confianza parcial no puede usar 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 de forma asincrónica.
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 se 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ámetro.
Comentarios
Si el método es estático, la ejecución todavía debe realizarse correctamente.
Seguridad de .NET Framework
Plena confianza para el llamador inmediato. El código de confianza parcial no puede usar 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 ManagementBaseObject objetos .
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
Que ManagementBaseObject contiene los parámetros de entrada al método .
- options
- InvokeMethodOptions
que InvokeMethodOptions contiene opciones adicionales para la ejecución del método.
Devoluciones
que ManagementBaseObject 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. El código de confianza parcial no puede usar 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 de forma asincrónica.
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
que ManagementOperationObserver se usa 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
que ManagementBaseObject contiene los parámetros de entrada para el método .
- options
- InvokeMethodOptions
que InvokeMethodOptions contiene opciones adicionales que se usan 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. El código de confianza parcial no puede usar este miembro. Para obtener más información, consulte Uso de bibliotecas de código de confianza parcial.