Метод ITaskFolder::RegisterTaskDefinition (taskschd.h)
Регистрирует (создает) задачу в указанном расположении с помощью интерфейса ITaskDefinition для определения задачи.
Синтаксис
HRESULT RegisterTaskDefinition(
[in] BSTR path,
[in] ITaskDefinition *pDefinition,
[in] LONG flags,
[in] VARIANT userId,
[in] VARIANT password,
[in] TASK_LOGON_TYPE logonType,
[in, optional] VARIANT sddl,
[out] IRegisteredTask **ppTask
);
Параметры
[in] path
Имя данной задачи. Если это значение равно NULL, задача будет зарегистрирована в корневой папке задач, а имя задачи будет значением GUID, созданным службой планировщика задач.
Имя задачи не может начинаться или заканчиваться пробелом. Символ "." не может использоваться для указания текущей папки задач и .. Символы нельзя использовать для указания родительской папки задач в пути.
[in] pDefinition
Определение зарегистрированной задачи.
[in] flags
[in] userId
Учетные данные пользователя, используемые для регистрации задачи. Если они есть, эти учетные данные берут приоритет над учетными данными, указанными в объекте определения задачи, на который указывает параметр pDefinition .
[in] password
Пароль для userId, используемого для регистрации задачи. При использовании типа входа TASK_LOGON_SERVICE_ACCOUNT пароль должен быть пустым значением VARIANT , например VT_NULL или VT_EMPTY.
[in] logonType
Определяет, какой метод входа используется для выполнения зарегистрированной задачи.
[in, optional] sddl
Дескриптор безопасности, связанный с зарегистрированной задачей. Вы можете указать список управления доступом (ACL) в дескрипторе безопасности для задачи, чтобы разрешить или запретить определенным пользователям и группам доступ к задаче.
[out] ppTask
Интерфейс IRegisteredTask , представляющий новую задачу.
Передайте ссылку на указатель интерфейса IRegisteredTaskNULL. Ссылка на указатель, отличный от NULL , может привести к утечке памяти, так как указатель будет перезаписан.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Возвращаемый код или значение | Описание |
---|---|
|
Операция выполнена успешно. |
|
Доступ к службе планировщика задач запрещен. |
|
Приложение не имеет достаточно памяти для завершения операции или пользователь или пароль имеет по крайней мере одно значение NULL и одно значение, отличное от NULL . |
|
Задача зарегистрирована, но может не запуститься. Для субъекта-задачи необходимо включить привилегию пакетного входа. |
|
Задача зарегистрирована, но не все указанные триггеры запускают ее. |
Комментарии
Для задачи, содержащей действие окна сообщения, окно сообщения будет отображаться, если задача активирована и задача имеет тип интерактивного входа. Чтобы задать интерактивный тип входа в задачу, укажите TASK_LOGON_INTERACTIVE_TOKEN или TASK_LOGON_GROUP в свойстве LogonType субъекта задачи или в параметре logonTypeобъекта ITaskFolder::RegisterTask или ITaskFolder::RegisterTaskDefinition.
Только член группы "Администраторы" может создать задачу с триггером загрузки.
Вы можете успешно зарегистрировать задачу с группой, указанной в параметре userId и TASK_LOGON_INTERACTIVE_TOKEN указанной в параметре logonTypeITaskFolder::RegisterTask или ITaskFolder::RegisterTaskDefinition, но задача не будет выполняться.
Передача значений TASK_VALIDATE_ONLY и TASK_IGNORE_REGISTRATION_TRIGGERS в параметр flags является недопустимым аргументом.
Метод ITaskFolder::RegisterTaskDefinition возвращает ошибку 80070534 при вызове системной учетной записью с параметром пользователя , равным NULL, параметром passwordравным NULL и параметром logonType , равным TASK_LOGON_SERVICE_ACCOUNT.
Если задача определяет сеть, которая не существует в параметрах NetworkSettings задачи, метод ITaskFolder::RegisterTaskDefinition возвращает ошибку 0x8000ffff при регистрации задачи.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | taskschd.h |
Библиотека | Taskschd.lib |
DLL | Taskschd.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по