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 src/core/sys/windows/_lmat.d) 8 */ 9 module core.sys.windows.lmat; 10 version (Windows): 11 pragma(lib, "netapi32"); 12 13 private import core.sys.windows.lmcons, core.sys.windows.windef; 14 15 enum JOB_RUN_PERIODICALLY = 1; 16 enum JOB_EXEC_ERROR = 2; 17 enum JOB_RUNS_TODAY = 4; 18 enum JOB_ADD_CURRENT_DATE = 8; 19 enum JOB_NONINTERACTIVE = 16; 20 enum JOB_INPUT_FLAGS = JOB_RUN_PERIODICALLY | JOB_ADD_CURRENT_DATE 21 | JOB_NONINTERACTIVE; 22 enum JOB_OUTPUT_FLAGS = JOB_RUN_PERIODICALLY | JOB_EXEC_ERROR 23 | JOB_RUNS_TODAY | JOB_NONINTERACTIVE; 24 25 struct AT_ENUM { 26 DWORD JobId; 27 DWORD_PTR JobTime; 28 DWORD DaysOfMonth; 29 UCHAR DaysOfWeek; 30 UCHAR Flags; 31 LPWSTR Command; 32 } 33 alias AT_ENUM* PAT_ENUM, LPAT_ENUM; 34 35 struct AT_INFO { 36 DWORD_PTR JobTime; 37 DWORD DaysOfMonth; 38 UCHAR DaysOfWeek; 39 UCHAR Flags; 40 LPWSTR Command; 41 } 42 alias AT_INFO* PAT_INFO, LPAT_INFO; 43 44 extern (Windows) { 45 NET_API_STATUS NetScheduleJobAdd(LPWSTR, PBYTE, LPDWORD); 46 NET_API_STATUS NetScheduleJobDel(LPWSTR, DWORD, DWORD); 47 NET_API_STATUS NetScheduleJobEnum(LPWSTR, PBYTE*, DWORD, PDWORD, PDWORD, 48 PDWORD); 49 NET_API_STATUS NetScheduleJobGetInfo(LPWSTR, DWORD, PBYTE*); 50 } 51