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