1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_lmat.d) 8 */ 9 module core.sys.windows.lmat; 10 version (Windows): 11 @system: 12 pragma(lib, "netapi32"); 13 14 import core.sys.windows.lmcons, core.sys.windows.windef; 15 16 enum JOB_RUN_PERIODICALLY = 1; 17 enum JOB_EXEC_ERROR = 2; 18 enum JOB_RUNS_TODAY = 4; 19 enum JOB_ADD_CURRENT_DATE = 8; 20 enum JOB_NONINTERACTIVE = 16; 21 enum JOB_INPUT_FLAGS = JOB_RUN_PERIODICALLY | JOB_ADD_CURRENT_DATE 22 | JOB_NONINTERACTIVE; 23 enum JOB_OUTPUT_FLAGS = JOB_RUN_PERIODICALLY | JOB_EXEC_ERROR 24 | JOB_RUNS_TODAY | JOB_NONINTERACTIVE; 25 26 struct AT_ENUM { 27 DWORD JobId; 28 DWORD_PTR JobTime; 29 DWORD DaysOfMonth; 30 UCHAR DaysOfWeek; 31 UCHAR Flags; 32 LPWSTR Command; 33 } 34 alias AT_ENUM* PAT_ENUM, LPAT_ENUM; 35 36 struct AT_INFO { 37 DWORD_PTR JobTime; 38 DWORD DaysOfMonth; 39 UCHAR DaysOfWeek; 40 UCHAR Flags; 41 LPWSTR Command; 42 } 43 alias AT_INFO* PAT_INFO, LPAT_INFO; 44 45 extern (Windows) { 46 NET_API_STATUS NetScheduleJobAdd(LPWSTR, PBYTE, LPDWORD); 47 NET_API_STATUS NetScheduleJobDel(LPWSTR, DWORD, DWORD); 48 NET_API_STATUS NetScheduleJobEnum(LPWSTR, PBYTE*, DWORD, PDWORD, PDWORD, 49 PDWORD); 50 NET_API_STATUS NetScheduleJobGetInfo(LPWSTR, DWORD, PBYTE*); 51 } 52