共用方式為


2.2.2.4.6 _DRIVER_INFO_6

The _DRIVER_INFO_6 structure specifies printer driver information.<106> It is a custom-marshaled form of the RPC_DRIVER_INFO_6 (section 2.2.1.5.5) 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

ftDriverDate.dwLowDateTime

ftDriverDate.dwHighDateTime

PaddingForAlignment

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.

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.

ftDriverDate.dwLowDateTime (4 bytes): A FILETIME value ([MS-DTYP] section 2.3.3) that specifies the date this package was published, see field DWORD dwLowDateTime.

ftDriverDate.dwHighDateTime (4 bytes): A FILETIME value ([MS-DTYP] section 2.3.3) that specifies the date this package was published, see field DWORD dwHighDateTime.

PaddingForAlignment (4 bytes): 4 bytes of padding to align the dwlDriverVersion field on an 8-byte boundary. The contents of this field MUST be ignored.

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.<107>

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)

...

DependentFilesArray (variable)

...

HelpFileArray (variable)

...

ConfigFileArray (variable)

...

DataFileArray (variable)

...

DriverPathArray (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.

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