2.2.2.4.9 _DRIVER_INFO_101

The _DRIVER_INFO_101 structure specifies printer driver information.


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

FileInfoOffset

dwFileCount

MonitorNameOffset

DefaultDataTypeOffset

szzPreviousNamesOffset

ftDriverDate

...

dwlDriverVersion

...

MfgNameOffset

OEMUrlOffset

HardwareIDOffset

ProviderOffset

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.

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

dwFileCount (4 bytes): An unsigned integer that specifies the number of _DRIVER_FILE_INFO structures in the FileInfoArray member.

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

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

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

ftDriverDate (8 bytes): A FILETIME value ([MS-DTYP] section 2.3.3) that specifies the date this package was published.<114>

dwlDriverVersion (8 bytes): A 64-bit value that specifies the version of the core printer driver that can be used to match the driver version in the driver installation control file.<115>

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

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

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

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

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

ProviderArray (variable)

...

HardwareIDArray (variable)

...

OEMUrlArray (variable)

...

MfgNameArray (variable)

...

szzPreviousNamesArray (variable)

...

DefaultDataTypeArray (variable)

...

MonitorNameArray (variable)

...

FileInfoArray (variable)

...

EnvironmentArray (variable)

...

NameArray (variable)

...

ProviderArray (variable): A string that specifies the publisher of the printer driver. The location of this buffer is determined by the value of the ProviderOffset member.

HardwareIDArray (variable): A string that specifies the hardware identifier for the printer driver. The location of this buffer is determined by the value of the HardwareIDOffset member.

OEMUrlArray (variable): A string that specifies the URL for the manufacturer of the printer driver. The location of this buffer is determined by the value of the OEMUrlOffset member.

MfgNameArray (variable): A string that specifies the manufacturer's name. The location of this buffer is determined by the value of the MfgNameOffset member.

szzPreviousNamesArray (variable): A multisz that specifies any previous printer drivers that are compatible with this driver. The location of this buffer is determined by the value of the szzPreviousNamesOffset member.

DefaultDataTypeArray (variable): A string that specifies the default data type of print jobs created by the driver. The location of this buffer is determined by the value of the DefaultDataTypeOffset member.

MonitorNameArray (variable): A string that specifies a language monitor. The location of this buffer is determined by the value of the MonitorNameOffset member.

FileInfoArray (variable): This member MUST be an array of _DRIVER_FILE_INFO structures. The number of elements in the array MUST be the same as the value of the dwFileCount 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.

Note: Member definitions for all members not defined in this section are identical to members in _DRIVER_INFO_8 (section 2.2.2.4.8).