2.2.1.2.9 PRINTER_CONTAINER

The PRINTER_CONTAINER structure provides information about printer properties and state information, using PRINTER_INFO structures (section 2.2.1.10). The PrinterInfo member specifies the structure that defines the printer properties.

 typedef struct _PRINTER_CONTAINER {
   DWORD Level;
   [switch_is(Level)] union {
     [case(0)] 
       PRINTER_INFO_STRESS* pPrinterInfoStress;
     [case(1)] 
       PRINTER_INFO_1* pPrinterInfo1;
     [case(2)] 
       PRINTER_INFO_2* pPrinterInfo2;
     [case(3)] 
       PRINTER_INFO_3* pPrinterInfo3;
     [case(4)] 
       PRINTER_INFO_4* pPrinterInfo4;
     [case(5)] 
       PRINTER_INFO_5* pPrinterInfo5;
     [case(6)] 
       PRINTER_INFO_6* pPrinterInfo6;
     [case(7)] 
       PRINTER_INFO_7* pPrinterInfo7;
     [case(8)] 
       PRINTER_INFO_8* pPrinterInfo8;
     [case(9)] 
       PRINTER_INFO_9* pPrinterInfo9;
   } PrinterInfo;
 } PRINTER_CONTAINER;

Level: Specifies the information level of the PrinterInfo data. The value of this member MUST be in the range 0x00000000 to 0x00000009 inclusive.

PrinterInfo: Provides printer information using a container structure that corresponds to the value specified by the Level member.

pPrinterInfoStress: If the Level member is 0x00000000, this member is a pointer to a PRINTER_INFO_STRESS structure (section 2.2.1.10.1), which provides diagnostic printer information.

pPrinterInfo1: If the Level member is 0x00000001, this member is a pointer to a PRINTER_INFO_1 (section 2.2.1.10.2) structure, which provides printer information.

pPrinterInfo2:If the Level member is 0x00000002, this member is a pointer to a PRINTER_INFO_2 (section 2.2.1.10.3) structure, which provides detailed printer information.

pPrinterInfo3: If the Level member is 0x00000003, this member is a pointer to a PRINTER_INFO_3 (section 2.2.1.10.4) structure, which provides printer security information.

pPrinterInfo4: If the Level member is 0x00000004, this member is a pointer to a PRINTER_INFO_4 (section 2.2.1.10.5) structure, which provides a subset of the printer information.

pPrinterInfo5: If the Level member is 0x00000005, this member is a pointer to a PRINTER_INFO_5 (section 2.2.1.10.6) structure, which provides information about the printer attributes.

pPrinterInfo6: If the Level member is 0x00000006, this member is a pointer to a PRINTER_INFO_6 (section 2.2.1.10.7) structure, which provides information about the status of the printer.

pPrinterInfo7: If the Level member is 0x00000007, this member is a pointer to a PRINTER_INFO_7 (section 2.2.1.10.8) structure, which provides directory service (DS) information.

pPrinterInfo8: If the Level member is 0x00000008, this member is a pointer to a PRINTER_INFO_8 (section 2.2.1.10.9) structure, which provides information about the global printer driver settings for a printer.

pPrinterInfo9: If the Level member is 0x00000009, this member is a pointer to a PRINTER_INFO_9 (section 2.2.1.10.10) structure. The PRINTER_INFO_9 structure is not used remotely, but it is included in this structure to yield a compatible IDL file. The print server MUST respond with ERROR_NOT_SUPPORTED if it receives a PRINTER_CONTAINER structure with a Level value equal to 0x00000009.