Compartir a través de


Ejemplo de creación de una tarea mediante NewWorkItem

Al crear una tarea, usará dos interfaces del Programador de tareas: ITaskScheduler e ITask. Debe proporcionar un nombre único para la tarea, el identificador de clase del objeto de tarea y el identificador de interfaz de ITask. El identificador de clase y el identificador de interfaz se muestran en el ejemplo de código que sigue a este tema.

Nota

También puede crear una tarea llamando a ITaskScheduler::AddWorkItem. Al tomar esta ruta, es su responsabilidad crear una instancia del objeto Task (que admite la interfaz ITask ) y, a continuación, agregar la tarea con el nombre que proporcione.

 

Nota

De forma predeterminada, solo un miembro del grupo Administradores, Operadores de copia de seguridad o Operadores de servidor puede crear tareas en Windows Server 2003. Un miembro del grupo Administradores puede cambiar el descriptor de seguridad de la carpeta Windows\Task para permitir que otros usuarios creen tareas.

 

El nombre que proporcione para la tarea debe ser único dentro de la carpeta Tareas programadas. Si ya existe una tarea con el mismo nombre, ITaskScheduler::NewWorkItem devuelve ERROR_FILE_EXISTS. Si obtiene este valor devuelto, debe especificar otro nombre e intentar volver a crear la tarea.

En el procedimiento siguiente se describe cómo crear una nueva tarea de elemento de trabajo.

Para crear una nueva tarea de elemento de trabajo

  1. Llame a CoInitialize para inicializar la biblioteca COM y CoCreateInstance para obtener un objeto Task Scheduler. (En este ejemplo se supone que el servicio Programador de tareas se está ejecutando).
  2. Llame a ITaskScheduler::NewWorkItem para crear una nueva tarea. (Este método devuelve un puntero a una interfaz ITask ).
  3. Guarde la nueva tarea en el disco llamando a IPersistFile::Save. (La interfaz IPersistFile es una interfaz COM estándar compatible con la interfaz ITask ).
  4. Llame a ITask::Release para liberar todos los recursos. (Tenga en cuenta que Release es un método IUnknown heredado por ITask).
Para obtener un ejemplo de código de Vea
Creación de una sola tarea Ejemplo de código de C/C++: Crear una tarea mediante NewWorkItem

 

Ejemplos del Programador de tareas 1.0