Método IRegisteredTask::RunEx (taskschd.h)

Ejecuta la tarea registrada inmediatamente con marcas especificadas y un identificador de sesión.

Sintaxis

HRESULT RunEx(
  [in]            VARIANT      params,
  [in]            LONG         flags,
  [in]            LONG         sessionID,
  [in]            BSTR         user,
  [out, optional] IRunningTask **ppRunningTask
);

Parámetros

[in] params

Parámetros usados como valores en las acciones de tarea. Para no especificar ningún valor de parámetro para las acciones de tarea, establezca este parámetro en VT_NULL o VT_EMPTY. De lo contrario, se puede especificar un único valor BSTR o una matriz de valores BSTR .

Los valores BSTR que especifique se emparejan con nombres y se almacenan como pares nombre-valor. Si especifica un único valor BSTR, Arg0 será el nombre asignado al valor. El valor se puede usar en la acción de tarea donde se usa la variable $(Arg0) en las propiedades de la acción.

Si pasa valores como "0", "100" y "250" como una matriz de valores BSTR , "0" reemplazará las variables $(Arg0), "100" reemplazará las variables $(Arg1) y "250" reemplazará las variables $(Arg2) que se usan en las propiedades de acción.

Se puede especificar un máximo de 32 valores BSTR .

Para obtener más información y una lista de propiedades de acción que pueden usar $(Arg0), $(Arg1), ..., $(Arg32) variables en sus valores, vea Acciones de tarea.

[in] flags

Constante TASK_RUN_FLAGS que define cómo se ejecuta la tarea.

[in] sessionID

Sesión de terminal server en la que desea iniciar la tarea.

Si la constante TASK_RUN_USE_SESSION_ID no se pasa al parámetro flags , se omite el valor especificado en este parámetro. Si la constante TASK_RUN_USE_SESSION_ID se pasa al parámetro flags y el valor sessionID es menor o igual que 0, se devolverá un error de argumento no válido.

Si la constante TASK_RUN_USE_SESSION_ID se pasa al parámetro flags y el valor sessionID es un identificador de sesión válido mayor que 0 y si no se especifica ningún valor para el parámetro de usuario , el servicio Programador de tareas intentará iniciar la tarea de forma interactiva como el usuario que ha iniciado sesión en la sesión especificada.

Si la constante TASK_RUN_USE_SESSION_ID se pasa al parámetro flags y el valor sessionID es un identificador de sesión válido mayor que 0 y si se especifica un usuario en el parámetro user , el servicio Programador de tareas intentará iniciar la tarea de forma interactiva como el usuario que se especifica en el parámetro user .

[in] user

Usuario para el que se ejecuta la tarea.

[out, optional] ppRunningTask

Interfaz IRunningTask que define la nueva instancia de la tarea.

Pase una referencia a un puntero de interfaz IRunningTaskNULL. Hacer referencia a un puntero distinto de NULL puede provocar una pérdida de memoria porque el puntero se sobrescribirá.

Valor devuelto

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Este método devolverá sin error, pero la tarea no se ejecutará si la propiedad AllowDemandStart de ITaskSettings está establecida en false para la tarea.

Si se invoca IRegisteredTask::RunEx desde una tarea deshabilitada, devolverá S_OK, pero la tarea no se ejecutará.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado taskschd.h
Library Taskschd.lib
Archivo DLL Taskschd.dll

Consulte también

IRegisteredTask

Programador de tareas