Пример создания задачи с помощью NewWorkItem

При создании задачи вы будете использовать два интерфейса планировщика задач: ITaskScheduler и ITask. Необходимо указать уникальное имя задачи, идентификатор класса объекта задачи и идентификатор интерфейса ITask. Идентификатор класса и идентификатор интерфейса показаны в примере кода, приведенном в этом разделе.

Примечание

Вы также можете создать задачу, вызвав ITaskScheduler::AddWorkItem. При выполнении этого маршрута вы несете ответственность за создание экземпляра объекта Task (который поддерживает интерфейс ITask ), а затем добавить задачу с указанным именем.

 

Примечание

По умолчанию только член группы "Администраторы", "Операторы резервного копирования" или "Операторы сервера" может создавать задачи в Windows Server 2003. Член группы Администраторы может изменить дескриптор безопасности папки Windows\Task, чтобы разрешить другим пользователям создавать задачи.

 

Имя, указанное для задачи, должно быть уникальным в папке Запланированные задачи. Если задача с таким именем уже существует, функция ITaskScheduler::NewWorkItem возвращает ERROR_FILE_EXISTS. Если вы получите это возвращаемое значение, следует указать другое имя и попытаться создать задачу еще раз.

В следующей процедуре описывается создание задачи рабочего элемента.

Создание задачи рабочего элемента

  1. Вызовите CoInitialize , чтобы инициализировать библиотеку COM, и CoCreateInstance , чтобы получить объект планировщика задач. (В этом примере предполагается, что служба планировщика задач запущена.)
  2. Вызовите ITaskScheduler::NewWorkItem , чтобы создать новую задачу. (Этот метод возвращает указатель на интерфейс ITask .)
  3. Сохраните новую задачу на диск, вызвав IPersistFile::Save. (Интерфейс IPersistFile — это стандартный COM-интерфейс, поддерживаемый интерфейсом ITask .)
  4. Вызовите ITask::Release , чтобы освободить все ресурсы. (Обратите внимание, что Release — это метод IUnknown, унаследованный ITask.)
Пример кода См.
Создание одной задачи Пример кода C/C++: создание задачи с помощью NewWorkItem

 

Примеры планировщика задач 1.0