1 /***********************************************************************\ 2 * lmalert.d * 3 * * 4 * Windows API header module * 5 * * 6 * Translated from MinGW Windows headers * 7 * * 8 * Placed into public domain * 9 \***********************************************************************/ 10 module win32.lmalert; 11 version(Windows): 12 pragma(lib, "netapi32"); 13 14 private import win32.lmcons, win32.windef; 15 16 const TCHAR[] 17 ALERTER_MAILSLOT = `\\.\MAILSLOT\Alerter`, 18 ALERT_PRINT_EVENT = "PRINTING", 19 ALERT_MESSAGE_EVENT = "MESSAGE", 20 ALERT_ERRORLOG_EVENT = "ERRORLOG", 21 ALERT_ADMIN_EVENT = "ADMIN", 22 ALERT_USER_EVENT = "USER"; 23 //MACRO #define ALERT_OTHER_INFO(x) ((PBYTE)(x)+sizeof(STD_ALERT)) 24 25 //MACRO #define ALERT_VAR_DATA(p) ((PBYTE)(p)+sizeof(*p)) 26 27 const PRJOB_QSTATUS = 3; 28 const PRJOB_DEVSTATUS = 508; 29 const PRJOB_COMPLETE = 4; 30 const PRJOB_INTERV = 8; 31 const PRJOB_ = 16; 32 const PRJOB_DESTOFFLINE = 32; 33 const PRJOB_DESTPAUSED = 64; 34 const PRJOB_NOTIFY = 128; 35 const PRJOB_DESTNOPAPER = 256; 36 const PRJOB_DELETED = 32768; 37 const PRJOB_QS_QUEUED = 0; 38 const PRJOB_QS_PAUSED = 1; 39 const PRJOB_QS_SPOOLING = 2; 40 const PRJOB_QS_PRINTING = 3; 41 42 struct ADMIN_OTHER_INFO{ 43 DWORD alrtad_errcode; 44 DWORD alrtad_numstrings; 45 } 46 alias ADMIN_OTHER_INFO* PADMIN_OTHER_INFO, LPADMIN_OTHER_INFO; 47 48 struct STD_ALERT{ 49 DWORD alrt_timestamp; 50 TCHAR alrt_eventname[EVLEN+1]; 51 TCHAR alrt_servicename[SNLEN+1]; 52 } 53 alias STD_ALERT* PSTD_ALERT, LPSTD_ALERT; 54 55 struct ERRLOG_OTHER_INFO{ 56 DWORD alrter_errcode; 57 DWORD alrter_offset; 58 } 59 alias ERRLOG_OTHER_INFO* PERRLOG_OTHER_INFO, LPERRLOG_OTHER_INFO; 60 61 struct PRINT_OTHER_INFO{ 62 DWORD alrtpr_jobid; 63 DWORD alrtpr_status; 64 DWORD alrtpr_submitted; 65 DWORD alrtpr_size; 66 } 67 alias PRINT_OTHER_INFO* PPRINT_OTHER_INFO, LPPRINT_OTHER_INFO; 68 69 struct USER_OTHER_INFO{ 70 DWORD alrtus_errcode; 71 DWORD alrtus_numstrings; 72 } 73 alias USER_OTHER_INFO* PUSER_OTHER_INFO, LPUSER_OTHER_INFO; 74 75 extern (Windows) { 76 NET_API_STATUS NetAlertRaise(LPCWSTR,PVOID,DWORD); 77 NET_API_STATUS NetAlertRaiseEx(LPCWSTR,PVOID,DWORD,LPCWSTR); 78 }