Функция NetScheduleJobAdd (lmat.h)
[NetScheduleJobAdd больше недоступен для использования с Windows 8. Вместо этого используйте интерфейсы планировщика задач 2.0.
]
Функция NetScheduleJobAdd отправляет задание для выполнения в указанное будущее время и дату. Эта функция требует запуска службы расписания на компьютере, на который отправляется задание.
Синтаксис
NET_API_STATUS NET_API_FUNCTION NetScheduleJobAdd(
[in, optional] LPCWSTR Servername,
[in] LPBYTE Buffer,
[out] LPDWORD JobId
);
Параметры
[in, optional] Servername
Указатель на константную строку, указывающую DNS- или NetBIOS-имя удаленного сервера, на котором выполняется функция. Если этот параметр имеет значение NULL, используется локальный компьютер.
[in] Buffer
Указатель на структуру AT_INFO , описывающую задание для отправки. Дополнительные сведения о планировании заданий с помощью различных свойств заданий см. в разделе "Примечания" и "Буферы функций управления сетью".
[out] JobId
Указатель, получающий идентификатор задания для только что отправленного задания. Эта запись действительна, только если функция возвращает успешно.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NERR_Success.
Если функция завершается сбоем, возвращаемое значение представляет собой системный код ошибки. Список кодов ошибок см. в разделе Системные коды ошибок.
Комментарии
Обычно только члены локальной группы администраторов на компьютере, на котором добавляется задание расписания, могут успешно выполнять эту функцию. Если имя сервера, переданное в строке, на которую указывает параметр Servername , является удаленным сервером, то только члены локальной группы администраторов на удаленном сервере могут успешно выполнить эту функцию.
Если в следующем значении реестра задан наименьший бит (например, 0x00000001), пользователи, входящие в группу Операторы сервера, также могут успешно выполнить эту функцию.
HKLM\System\CurrentControlSet\Control\Lsa\SubmitControl
Ниже приведены примеры планирования заданий с помощью различных свойств, поддерживаемых функцией NetScheduleJobAdd .
Чтобы запланировать задание, которое выполняется один раз:
- Задайте для элемента DaysOfMonth структуры AT_INFO значение 0.
- Задайте для элемента DaysOfWeek структуры AT_INFO значение 0.
- Задайте для элемента JobTime структуры AT_INFO значение времени выполнения задания.
Чтобы запланировать и удалить задание, которое выполняется несколько раз:
- Задайте соответствующие биты в элементе DaysOfMonth структуры AT_INFO или
- Задайте соответствующие биты в элементе DaysOfWeek структуры AT_INFO .
- Задайте для элемента JobTime структуры AT_INFO значение времени выполнения задания.
Чтобы запланировать задание, которое выполняется периодически, выполните приведенные далее действия.
- Задайте соответствующие биты в элементе DaysOfMonth структуры AT_INFO или
- Задайте соответствующие биты в элементе DaysOfWeek структуры AT_INFO .
- Задайте для элемента JobTime структуры AT_INFO значение времени выполнения задания.
- Задайте флаг отправки задания JOB_RUN_PERIODICALLY в элементе Флаги структуры AT_INFO .
Описание битовых масок свойств DaysOfWeek, DaysOfMonth и заданий см. в структуре AT_INFO.
В Windows 2000 были объединены более ранняя служба AT и планировщик задач. Служба планировщика задач была точной только до минуты. Таким образом, функция NetScheduleJobAdd использует только часы и минуты, указанные в элементе JobTime структуры AT_INFO , когда запланировано выполнение задания.
Начиная с Windows Vista точность планировщика задач была увеличена до второго. Таким образом, функция NetScheduleJobAdd использует только часы, минуты и секунды, указанные в элементе JobTimeструктуры AT_INFO , когда запланировано выполнение задания.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | lmat.h (включая Lmat.h) |
Библиотека | Netapi32.lib |
DLL | Netapi32.dll |