1 /***********************************************************************\ 2 * lmat.d * 3 * * 4 * Windows API header module * 5 * * 6 * Translated from MinGW Windows headers * 7 * * 8 * Placed into public domain * 9 \***********************************************************************/ 10 module win32.lmat; 11 pragma(lib, "netapi32.lib"); 12 13 private import win32.lmcons, win32.windef; 14 15 const JOB_RUN_PERIODICALLY = 1; 16 const JOB_EXEC_ERROR = 2; 17 const JOB_RUNS_TODAY = 4; 18 const JOB_ADD_CURRENT_DATE = 8; 19 const JOB_NONINTERACTIVE = 16; 20 const JOB_INPUT_FLAGS = JOB_RUN_PERIODICALLY | JOB_ADD_CURRENT_DATE 21 | JOB_NONINTERACTIVE; 22 const 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 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 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 }