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 群組成員才能成功執行此函式。 如果 伺服器 名稱參數所指向之字串中傳遞的伺服器名稱是遠端伺服器,則只有遠端伺服器上的本機 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 和 job 屬性位掩碼的描述,請參閱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) |
程式庫 | Netapi32.lib |
Dll | Netapi32.dll |