共用方式為


2.2.2.4.4 _DRIVER_INFO_4

The _DRIVER_INFO_4 structure specifies printer driver information.<104> It is a custom-marshaled form of the _RPC_DRIVER_INFO_4 (section 2.2.1.5.4) structure.


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

HelpFileOffset

DependentFilesOffset

MonitorNameOffset

DefaultDataTypeOffset

szzPreviousNamesOffset

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.

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

DependentFilesOffset (4 bytes): An unsigned integer that specifies the number of bytes from the start of the structure to the start of the DependentFilesArray 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.

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

szzPreviousNamesArray (variable)

...

DefaultDataTypeArray (variable)

...

MonitorNameArray (variable)

...

DependentFilesArray (variable)

...

HelpFileArray (variable)

...

ConfigFileArray (variable)

...

DataFileArray (variable)

...

DriverPathArray (variable)

...

EnvironmentArray (variable)

...

NameArray (variable)

...

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.

DependentFilesArray (variable): A multisz that specifies the names of the files that the printer driver is dependent on. The location of this buffer is determined by the value of the DependentFilesOffset member.

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

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 printer driver 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.