hwndNotify (HWND) - input
Message ID is WM_SPOOLER_ALERT(0x00d8)
MP1 will define the type of alert as follows:
/* Alert type - SHORT1FROMMP(MP1) bits 0-7 */
#define SPLMSG_SPECIAL_ALERT 0x00FC
#define SPLMSG_EXTENDED_ALERT 0x00FD
#define SPLMSG_CORE_ALERT_MASK 0x00FF
/* Extended alert type - SHORT1FROMMP(MP1) bits 8-15 */
#define SPLMSG_EXTENDED_TYPE_MASK 0xFF00
If the object type is SPLMSG_EXTENDED_ALERT, then this is an extended alert.
The extended alert category is SHORT2FROMMP(MP1). The type of alert in the
given extended alert category is SHORT1FROMMP(MP1) bits 8-15. This limits
the notification given to applications registered for extended alerts to
only the specific categories that are 0xFFFF or less and to only category
types that are 0xFF or less.
If the object type is SPLMSG_SPECIAL_ALERT, then this is a special alert
generated by the spooler and SHORT2FROMMP(MP1) will contain one of the following
messages:
SPLMSG_CONNECTION_LOST - 0x0002
Connection to computer
terminated; all alerts disabled for given computer.
SPLMSG_PORT_TERMINATED
- 0x0003
Registration terminated for port.
SPLMSG_SPOOLER_DISABLED
- 0x0001
Spooler disabled; all alerts for given
computer are disabled.
If the object type is less
than SPLMSG_SPECIAL_ALERT(0xFC), then this is a core alert. The specific
core alert posted will be: SHORT1FROMMP(MP1) bits 0-7(SPLMSG_CORE_ALERT_MASK)
If the core alert is PRTALERT_TYPE_PAGE_PRINTED(9), then SHORT1FROMMP(MP1)
bits 8-15(SPLMSG_PAGE_PRINTED_MASK) will be the page number printed. If
the page number is above 255, the value hex 'FF' will be put in this byte
field.
If the core alert is not PRTALERT_TYPE_PAGE_PRINTED(9), then SHORT1FROMMP(MP1)
bits 8-15(SPLMSG_CORE_SEVERITY_MASK) will be the severity of the alert.
SHORT2FROMMP(MP1) will be the spooler job ID if this is a core alert for
a print job.
The core alert type will be one of the following:
Value
1
PRTALERT_TYPE_INPUT
Input alert (Example: out of paper).
2
PRTALERT_TYPE_OUTPUT
Output alert (Example: output bin full).
3
PRTALERT_TYPE_JAM
Paper jam alert.
4
PRTALERT_TYPE_OPERATOR
Operator intervention required (Example: print ribbon jam).
5
PRTALERT_TYPE_CONFIG_CHANGE
Configuration changed (Example: cartridge removed).
6
PRTALERT_TYPE_SUPPLIES Supplies alert (Example:
out of toner).
7
PRTALERT_TYPE_JOB_START
Job started printing.
8
PRTALERT_TYPE_JOB_STACKED
Job completed and stacked.
9
PRTALERT_TYPE_PAGE_PRINTED
Page printed.
10
PRTALERT_TYPE_JOB_CANCELLED
Job cancelled inside printer.
11
PRTALERT_TYPE_JOB_HELD
Job held inside printer.
12
PRTALERT_TYPE_COVER_OPEN
Cover or panel open.
13
PRTALERT_TYPE_POWER_ON
Printer powered on.
14
PRTALERT_TYPE_RESET
Printer reset.
15
PRTALERT_TYPE_ONLINE
Printer now online.
16
PRTALERT_TYPE_OFFLINE
Printer now offline.
17
PRTALERT_TYPE_TIMED_ALERT
Timed alert.
18
PRTALERT_TYPE_COMMUNICATION_PROBLEM
Communication problem.
19
PRTALERT_TYPE_COMM_STATUS_CHANGED
Communication status changed. BIDI_Q_PORT should be issued to get current
state.
0xFF
PRTALERT_TYPE_OTHER
Other alert type (0xFFFFFFFF).
The severity of the
problem will be one of the following:
Value
00
PRTALERT_SEV_INFORMATIONAL
01
02
PRTALERT_SEV_ERROR
Printing stopped due to error.
03
PRTALERT_SEV_SERVICE
Service is required.
04 - FD
FE
PRTALERT_SEV_OTHER
Other (0xFE)
FF
PRTALERT_SEV_UNKNOWN
Unknown (0xFF)
MP2 contents are as follows:
SHORT1FROMMP(MP1) is the atomized print server name.
If the notification is from the local spooler, this value will be zero.
SHORT2FROMMP(MP2) is the atomized print queue name when the
message involves a print job (alert values 7 - 11);
otherwise, it will be the atomized printer port name, if applicable.
[Back: SplRegister Parameter - pszName]
[Next: SplRegister Parameter - ulCategory]