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。
如果函数失败,则返回值为系统错误代码。 有关错误代码的列表,请参阅 系统错误代码。
注解
通常,只有正在添加计划作业的计算机上的本地 Administrators 组的成员才能成功执行此函数。 如果 Servername 参数指向的字符串中传递的服务器名称是远程服务器,则只有远程服务器上的本地 Administrators 组的成员才能成功执行此函数。
如果以下注册表值具有 ((例如,0x00000001) )设置的最小有效位,则属于服务器操作员组的用户也可以成功执行此函数。
HKLM\System\CurrentControlSet\Control\Lsa\SubmitControl
下面是如何使用 NetScheduleJobAdd 函数支持的不同属性计划作业的示例。
计划执行一次的作业:
- 将 AT_INFO 结构的 DaysOfMonth 成员设置为零。
- 将 AT_INFO 结构的 DaysOfWeek 成员设置为零。
- 将 AT_INFO 结构的 JobTime 成员设置为作业应执行的时间。
若要计划和删除多次执行的作业,请执行以下操作:
- 在 AT_INFO 结构的 DaysOfMonth 成员中设置适当的位或
- 在 AT_INFO 结构的 DaysOfWeek 成员中设置适当的位。
- 将 AT_INFO 结构的 JobTime 成员设置为作业应执行的时间。
计划定期执行的作业:
- 在 AT_INFO 结构的 DaysOfMonth 成员中设置适当的位或
- 在 AT_INFO 结构的 DaysOfWeek 成员中设置适当的位。
- 将 AT_INFO 结构的 JobTime 成员设置为作业应执行的时间。
- 在 AT_INFO 结构的 Flags 成员中设置作业提交 标志JOB_RUN_PERIODICALLY 。
有关 DaysOfWeek、DaysOfMonth 和作业属性位掩码的说明,请参阅 AT_INFO 结构。
在 Windows 2000 上,将早期的 AT 服务和任务计划程序组合在一起。 任务计划程序服务仅精确到每分钟。 因此,当计划运行作业时,NetScheduleJobAdd 函数仅使用AT_INFO结构的 JobTime 成员中指定的小时和分钟数。
从 Windows Vista 开始,任务计划程序精度增加到第二个。 因此,当计划运行作业时,NetScheduleJobAdd 函数仅使用AT_INFO结构的 JobTime 成员中指定的小时、分钟和秒数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | lmat.h (包括 Lmat.h) |
Library | Netapi32.lib |
DLL | Netapi32.dll |