Поделиться через


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

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

Заметка

Вы также можете создать задачу, вызвав ITaskScheduler::AddWorkItem. При выполнении этого маршрута необходимо создать экземпляр объекта задачи (который поддерживает интерфейс 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