PRINTER_STATUS_USER_INTERVENTION bit in a PRINTER_INFO structure's Status member, it is actually an attribute of the printer. As such, it is indicated and controlled by the PRINTER_ATTRIBUTE_WORK_OFFLINE bit of a PRINTER_INFO_2 structure's Attribute member. The Attribute member is a bitfield of Attribute bits for that printer. See the Win32 SDK online documents for a complete description of this structure member and its values.
Note that the Work Offline state of a printer in Windows is distinctly different from a printer being Off-line. The difference is that the
PRINTER_ATTRIBUTE_WORK_OFFLINE attribute applies to a Window's Print Queue and effects how the queue behaves, while the Off-line status of a physical printer device is set on the device. The Off-line status of a physical printer can be determined from the Status members of either a PRINTER_INFO or JOB_INFO structure. See the Printer and Print Job status article in the REFERENCE section in this article for details.
Attribute information for a printer can be read and written by the
GetPrinter and SetPrinter API functions. To determine if a printer is currently in the Work Offline state, perform a logical AND of the predefined constant PRINTER_ATTRIBUTE_WORK_OFFLINE and the Attribute member of a PRINTER_INFO_2 structure with the C language "&" operator. To change the Work Offline state of a printer, follow these steps:
- Retrieve a PRINTER_INFO_2 structure for the printer by calling the GetPrinter function multiple times.
- Change the PRINTER_ATTRIBUTE_WORK_OFFLINE bit of a PRINTER_INFO_2 structure's Attribute member. The following sample code illustrates how to clear or set a bit of this bitfield properly:
if (pi2->Attributes & PRINTER_ATTRIBUTE_WORK_OFFLINE)
/* set, so clear the bit */
dwStatusMask = ~(DWORD)(PRINTER_ATTRIBUTE_WORK_OFFLINE);
pi2->Attributes = pi2->Attributes & dwStatusMask;
/* not set, so set it */
pi2->Attributes = pi2->Attributes | PRINTER_ATTRIBUTE_WORK_OFFLINE;
- Call the SetPrinter function to set the state of the printer by passing the modified structure.
ID d'article : 160456 - Dernière mise à jour : 21 nov. 2006 - Révision : 1