Création d’une tâche à l’aide de l’exemple NewWorkItem

Lors de la création d’une tâche, vous utiliserez deux interfaces Task Scheduler : ITaskScheduler et ITask. Vous devez fournir un nom unique pour la tâche, l’identificateur de classe de l’objet de tâche et l’identificateur d’interface d’ITask. L’identificateur de classe et l’identificateur d’interface sont indiqués dans l’exemple de code suivant cette rubrique.

Notes

Vous pouvez également créer une tâche en appelant ITaskScheduler::AddWorkItem. Lorsque vous suivez cette route, il vous incombe de créer une instance de l’objet Task (qui prend en charge l’interface ITask), puis d’ajouter la tâche avec le nom que vous fournissez.

 

Notes

Par défaut, seul un membre du groupe Administrateurs, Opérateurs de sauvegarde ou Opérateurs de serveur peut créer des tâches sur Windows Server 2003. Un membre du groupe Administrateurs peut modifier le descripteur de sécurité du dossier Windows\Task pour permettre à d’autres personnes de créer des tâches.

 

Le nom que vous fournissez pour la tâche doit être unique dans le dossier Tâches planifiées. Si une tâche portant le même nom existe déjà, ITaskScheduler::NewWorkItem retourne ERROR_FILE_EXISTS. Si vous obtenez cette valeur de retour, vous devez spécifier un autre nom et tenter de recréer la tâche.

La procédure suivante décrit comment créer une tâche d’élément de travail.

Pour créer une tâche d’élément de travail

  1. Appelez CoInitialize pour initialiser la bibliothèque COM et CoCreateInstance pour obtenir un objet Task Scheduler. (Cet exemple suppose que le service Planificateur de tâches est en cours d’exécution.)
  2. Appelez ITaskScheduler::NewWorkItem pour créer une tâche. (Cette méthode retourne un pointeur vers une interface ITask .)
  3. Enregistrez la nouvelle tâche sur le disque en appelant IPersistFile::Save. ( L’interface IPersistFile est une interface COM standard prise en charge par l’interface ITask .)
  4. Appelez ITask::Release pour libérer toutes les ressources. (Notez que Release est une méthode IUnknown héritée par ITask.)
Pour obtenir un exemple de code de Consultez
Création d’une tâche unique Exemple de code C/C++ : création d’une tâche à l’aide de NewWorkItem

 

Exemples de Planificateur de tâches 1.0