Пример создания задачи с помощью NewWorkItem
При создании задачи вы будете использовать два интерфейса планировщика задач: ITaskScheduler и ITask. Необходимо указать уникальное имя задачи, идентификатор класса объекта задачи и идентификатор интерфейса ITask. Идентификатор класса и идентификатор интерфейса показаны в примере кода, приведенном в этом разделе.
Примечание
Вы также можете создать задачу, вызвав ITaskScheduler::AddWorkItem. При выполнении этого маршрута вы несете ответственность за создание экземпляра объекта Task (который поддерживает интерфейс ITask ), а затем добавить задачу с указанным именем.
Примечание
По умолчанию только член группы "Администраторы", "Операторы резервного копирования" или "Операторы сервера" может создавать задачи в Windows Server 2003. Член группы Администраторы может изменить дескриптор безопасности папки Windows\Task, чтобы разрешить другим пользователям создавать задачи.
Имя, указанное для задачи, должно быть уникальным в папке Запланированные задачи. Если задача с таким именем уже существует, функция ITaskScheduler::NewWorkItem возвращает ERROR_FILE_EXISTS. Если вы получите это возвращаемое значение, следует указать другое имя и попытаться создать задачу еще раз.
В следующей процедуре описывается создание задачи рабочего элемента.
Создание задачи рабочего элемента
- Вызовите CoInitialize , чтобы инициализировать библиотеку COM, и CoCreateInstance , чтобы получить объект планировщика задач. (В этом примере предполагается, что служба планировщика задач запущена.)
- Вызовите ITaskScheduler::NewWorkItem , чтобы создать новую задачу. (Этот метод возвращает указатель на интерфейс ITask .)
- Сохраните новую задачу на диск, вызвав IPersistFile::Save. (Интерфейс IPersistFile — это стандартный COM-интерфейс, поддерживаемый интерфейсом ITask .)
- Вызовите ITask::Release , чтобы освободить все ресурсы. (Обратите внимание, что Release — это метод IUnknown, унаследованный ITask.)
Пример кода | См. |
---|---|
Создание одной задачи | Пример кода C/C++: создание задачи с помощью NewWorkItem |
Связанные темы