共用方式為


2.2.2.4.5 _DRIVER_INFO_5

The _DRIVER_INFO_5 structure specifies printer driver information.<105>


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Fixed_Portion (variable)

...

Variable_Data (variable)

...

Fixed_Portion (variable): An array of one or more groups of fixed-size fields, which are defined as follows.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

cVersion

NameOffset

EnvironmentOffset

DriverPathOffset

DataFileOffset

ConfigFileOffset

dwDriverAttributes

dwConfigVersion

dwDriverVersion

cVersion (4 bytes): A DWORD that has an implementation-specific value that identifies the driver version and the operating system version for which the printer driver was written, as specified in section 2.2.1.3.1.

NameOffset (4 bytes): A 32-bit unsigned integer that specifies the number of bytes from the start of the structure to the NameArray member.

EnvironmentOffset (4 bytes): An unsigned integer that specifies the number of bytes from the start of the structure to the start of the EnvironmentArray member.

DriverPathOffset (4 bytes): An unsigned integer that specifies the number of bytes from the start of the structure to the start of the DriverPathArray member.

DataFileOffset (4 bytes): An unsigned integer that specifies the number of bytes from the start of the structure to the start of the DataFileArray member.

ConfigFileOffset (4 bytes): An unsigned integer that specifies the number of bytes from the start of the structure to the start of the ConfigFileArray member.

dwDriverAttributes (4 bytes): A bit field that specifies attributes of the printer driver.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

0

0

0

0

0

0

0

A

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Where the bits are defined as follows.

Name

Description

PRINTER_DRIVER_PACKAGE_AWARE

A

The printer driver is part of a driver package.

dwConfigVersion (4 bytes): The number of times the printer driver configuration file has been upgraded (replaced with a newer binary) or downgraded (replaced with an older binary) since the system was restarted.

dwDriverVersion (4 bytes): The number of times the printer driver executable file has been upgraded (replaced with a newer binary) or downgraded (replaced with an older binary) since the system was restarted.

Variable_Data (variable): An array of zero or more groups of optional, variable-size fields, which are defined as follows.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

ConfigFileArray (variable)

...

DataFileArray (variable)

...

DriverPathArray (variable)

...

EnvironmentArray (variable)

...

NameArray (variable)

...

ConfigFileArray (variable): A string that specifies a file name or a full path and file name for the printer driver configuration module. The location of this buffer is determined by the value of the ConfigFileOffset member.

DataFileArray (variable): A string that specifies a file name or a full path and file name for the file that contains printer driver data. The location of this buffer is determined by the value of the DataFileOffset member.

DriverPathArray (variable): A string that specifies a file name or full path and file name for the file that contains the printer driver. The location of this buffer is determined by the value of the DependentFilesOffset member.

EnvironmentArray (variable): A string that specifies the environment that the printer driver supports. The location of this buffer is determined by the value of the EnvironmentOffset member.

NameArray (variable): This member MUST contain a string that specifies the print processor name. The location of this buffer is determined by the value of the NameOffset member. For rules governing print processor names, see section 2.2.4.11.

Members not defined in this section are identical to members in the _DRIVER_INFO_4 structure (section 2.2.2.4.4).