2.2.1.2.7 PORT_CONTAINER

The PORT_CONTAINER structure provides information about printer ports, using PORT_INFO structures.<4> The PortInfo member specifies the structure that defines the port properties.

 typedef struct _PORT_CONTAINER {
   DWORD Level;
   [switch_is(0x00FFFFFF & Level)] 
     union {
     [case(1)] 
       PORT_INFO_1* pPortInfo1;
     [case(2)] 
       PORT_INFO_2* pPortInfo2;
     [case(3)] 
       PORT_INFO_3* pPortInfo3;
     [case(0x00FFFFFF)] 
       PORT_INFO_FF* pPortInfoFF;
   } PortInfo;
 } PORT_CONTAINER;

Level: Specifies the information level of the PortInfo data. The value of this member MUST be in the range 0x00000001 to 0x00000003 inclusive, or 0xFFFFFFFF.

PortInfo: Defines port properties, using an information structure that corresponds to the value of the Level member.

Note: Despite the bitwise AND of Level with 0x00FFFFFF, no values for Level are valid besides those specified.

pPortInfo1: If the Level member is 0x00000001, this member is a pointer to a PORT_INFO_1 structure that provides information about the printer port. For details, see section 2.2.1.9.1.

pPortInfo2: If the Level member is 0x00000002, this member is a pointer to a PORT_INFO_2 structure that provides information about the printer port. For details, see section 2.2.1.9.2.

pPortInfo3: If the Level member is 0x00000003, this member is a pointer to a PORT_INFO_3 structure that provides information about the printer port. For details, see section 2.2.1.9.3.

pPortInfoFF: If the Level member is 0xFFFFFFFF, this member is a pointer to a PORT_INFO_FF structure that provides information about the printer port. For details, see section 2.2.1.9.4.