2.2.1.2.3 DRIVER_CONTAINER

The DRIVER_CONTAINER structure provides information about printer drivers by using DRIVER_INFO structures (section 2.2.1.5). The DriverInfo member specifies the structure that defines the properties of a printer driver.

 typedef struct _DRIVER_CONTAINER {
   DWORD Level;
   [switch_is(Level)] union {
     [case(1)] 
       DRIVER_INFO_1* pNotUsed;
     [case(2)] 
       DRIVER_INFO_2* Level2;
     [case(3)] 
       RPC_DRIVER_INFO_3* Level3;
     [case(4)] 
       RPC_DRIVER_INFO_4* Level4;
     [case(6)] 
       RPC_DRIVER_INFO_6* Level6;
     [case(8)] 
       RPC_DRIVER_INFO_8* Level8;
   } DriverInfo;
 } DRIVER_CONTAINER;

Level: Specifies the information level of the DriverInfo data. The value of this member MUST be in the range 0x00000002 to 0x00000004 inclusive, 0x00000006, or 0x00000008.

DriverInfo: Defines printer driver properties by using an information structure that corresponds to the value of the Level member.

pNotUsed: A pointer to a structure that is specified only as a placeholder in the IDL and MUST be ignored.

Level2: If the Level member is 0x00000002, this member is a pointer to a DRIVER_INFO_2 structure that provides printer driver information. For details, see section 2.2.1.5.2.

Level3: If the Level member is 0x00000003, this member is a pointer to an RPC_DRIVER_INFO_3 structure that provides printer driver information. For details, see section 2.2.1.5.3.

Level4: If the Level member is 0x00000004, this member is a pointer to an RPC_DRIVER_INFO_4 structure that provides printer driver information. For details, see section 2.2.1.5.4.

Level6: If the Level member is 0x00000006, this member is a pointer to an RPC_DRIVER_INFO_6 structure that provides printer driver information. For details, see section 2.2.1.5.5.

Level8: If the Level member is 0x00000008, this member is a pointer to an RPC_DRIVER_INFO_8 structure that provides printer driver information. For details, see section 2.2.1.5.6.