Método ITaskFolder::RegisterTaskDefinition (taskschd.h)
Registra (crea) una tarea en una ubicación especificada mediante la interfaz ITaskDefinition para definir una tarea.
Sintaxis
HRESULT RegisterTaskDefinition(
[in] BSTR path,
[in] ITaskDefinition *pDefinition,
[in] LONG flags,
[in] VARIANT userId,
[in] VARIANT password,
[in] TASK_LOGON_TYPE logonType,
[in, optional] VARIANT sddl,
[out] IRegisteredTask **ppTask
);
Parámetros
[in] path
Nombre de la tarea. Si este valor es NULL, la tarea se registrará en la carpeta raíz de la tarea y el nombre de la tarea será un valor GUID creado por el servicio Programador de tareas.
Un nombre de tarea no puede comenzar ni terminar con un carácter de espacio. No se puede usar el carácter '.' para especificar la carpeta de tareas actual y '.'. no se pueden usar caracteres para especificar la carpeta de tareas primaria en la ruta de acceso.
[in] pDefinition
Definición de la tarea registrada.
[in] flags
Constante TASK_CREATION.
[in] userId
Credenciales de usuario usadas para registrar la tarea. Si está presente, estas credenciales tienen prioridad sobre las credenciales especificadas en el objeto de definición de tarea al que apunta el parámetro
[in] password
Contraseña del userId usado para registrar la tarea. Cuando se usa el tipo de inicio de sesión de TASK_LOGON_SERVICE_ACCOUNT, la contraseña debe ser un valor VARIANT vacío, como VT_NULL o VT_EMPTY.
[in] logonType
Define qué técnica de inicio de sesión se usa para ejecutar la tarea registrada.
[in, optional] sddl
Descriptor de seguridad asociado a la tarea registrada. Puede especificar la lista de control de acceso (ACL) en el descriptor de seguridad de una tarea para permitir o denegar el acceso de determinados usuarios y grupos a una tarea.
[out] ppTask
Interfaz IRegisteredTask que representa la nueva tarea.
Pase una referencia a un
Valor devuelto
Este método puede devolver uno de estos valores.
Código y valor devueltos | Descripción |
---|---|
|
La operación se completó correctamente. |
|
Se deniega el acceso para conectarse al servicio Programador de tareas. |
|
La aplicación no tiene suficiente memoria para completar la operación o el usuario de |
|
La tarea está registrada, pero puede no iniciarse. El privilegio de inicio de sesión por lotes debe estar habilitado para la entidad de seguridad de la tarea. |
|
La tarea está registrada, pero no todos los desencadenadores especificados iniciarán la tarea. |
Observaciones
Para una tarea, que contiene una acción de cuadro de mensaje, se mostrará el cuadro de mensaje si la tarea está activada y la tarea tiene un tipo de inicio de sesión interactivo. Para establecer el tipo de inicio de sesión de tarea para que sea interactivo, especifique TASK_LOGON_INTERACTIVE_TOKEN o TASK_LOGON_GROUP en la propiedad LogonType de la entidad de seguridad de la tarea o en el parámetro logonType de ITaskFolder::RegisterTask o ITaskFolder::RegisterTaskDefinition.
Solo un miembro del grupo Administradores puede crear una tarea con un desencadenador de arranque.
Puede registrar correctamente una tarea con un grupo especificado en el parámetro userId
Pasar los valores TASK_VALIDATE_ONLY y TASK_IGNORE_REGISTRATION_TRIGGERS juntos a las marcas de parámetro es un argumento no válido.
El método
Si una tarea define una red que no existe en la configuración de NetworkSettings de la tarea, el método ITaskFolder::RegisterTaskDefinition devolverá el error 0x8000ffff cuando se registre la tarea.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2008 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
taskschd.h |
biblioteca de |
Taskschd.lib |
DLL de |
Taskschd.dll |
Consulte también
programador de tareas de