共用方式為


2.2.2.6.4 _JOB_INFO_4

The _JOB_INFO_4 structure specifies print job information.<119> It is a custom-marshaled form of the _JOB_INFO_4 (section 2.2.1.7.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

JobId

PrinterNameOffset

MachineNameOffset

UserNameOffset

DocumentOffset

NotifyNameOffset

DatatypeOffset

PrintProcessorOffset

ParametersOffset

DriverNameOffset

DevModeOffset

StatusOffset

SecurityDescriptorOffset

Status

Priority

Position

StartTime

UntilTime

TotalPages

Size

Submitted.wYear

Submitted.wMonth

Submitted.wDayOfWeek

Submitted.wDay

Submitted.wHour

Submitted.wMinute

Submitted.wSecond

Submitted.wMilliseconds

Time

PagesPrinted

SizeHigh

JobId (4 bytes): The identifier of a print job.

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

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

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

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

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

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

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

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

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

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

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

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

Status (4 bytes): The current printer status (section 2.2.3.12).

Priority (4 bytes): The job priority as a decimal number from 0 through 99, inclusive.

Position (4 bytes): The job's position in a queue, where one represents the next job that is printed.

StartTime (4 bytes): The earliest time that a printer can print a job. The time is expressed as the number of minutes after 12:00 AM GMT within a 24-hour boundary.

UntilTime (4 bytes): The latest time that the printer can print a job. The time is expressed as the number of minutes after 12:00 AM GMT within a 24-hour boundary.

TotalPages (4 bytes): The number of pages a document contains. It can be zero.

Size (4 bytes): The size of a job, in bytes.

Submitted (16 bytes): This member is a SYSTEMTIME structure ([MS-DTYP] section 2.3.13) that specifies when a document was spooled. Each field is 2 bytes that contains a WORD sized member in UTC.

Time (4 bytes): The number of milliseconds that have elapsed since printing began.

PagesPrinted (4 bytes): The number of pages that have been printed. It can be zero.

SizeHigh (4 bytes): This member specifies the high-order 32 bits of a 64-bit unsigned integer that specifies the size of the job, in bytes.

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

SecurityDescriptorArray (variable)

...

StatusArray (variable)

...

DevModeArray (variable)

...

DriverNameArray (variable)

...

ParametersArray (variable)

...

PrintProcessorArray (variable)

...

DatatypeArray (variable)

...

NotifyNameArray (variable)

...

DocumentArray (variable)

...

UserNameArray (variable)

...

MachineNameArray (variable)

...

PrinterNameArray (variable)

...

SecurityDescriptorArray (variable): A SECURITY_DESCRIPTOR structure that specifies the security information of the job. The location of this buffer is determined by the value of the SecurityDescriptorOffset member.

StatusArray (variable): A string that specifies the status of the job. The location of this buffer is determined by the value of the StatusOffset member.

DevModeArray (variable): A DevMode structure that specifies the DevMode info for the job. The location of this buffer is determined by the value of the DevModeOffset member.

DriverNameArray (variable): A string that specifies the name of the driver for the job. The location of this buffer is determined by the value of the DriverNameOffset member.

ParametersArray (variable): A string that specifies the parameters of the job. The location of this buffer is determined by the value of the ParametersOffset member.

PrintProcessorArray (variable): A string that specifies the print processor for the job. The location of this buffer is determined by the value of the PrintProcessorOffset member.

DatatypeArray (variable): A string that specifies the job’s datatype. The location of this buffer is determined by the value of the DatatypeOffset member.

NotifyNameArray (variable): A string that specifies the notification name of the job. The location of this buffer is determined by the value of the NotifyNameOffset member.

DocumentArray (variable): A string that specifies the document name. The location of this buffer is determined by the value of the DocumentOffset member.

UserNameArray (variable): A string that specifies the user name of the job. The location of this buffer is determined by the value of the UserNameOffset member.

MachineNameArray (variable): A string that specifies the name of the machine for the job. The location of this buffer is determined by the value of the MachineNameOffset member.

PrinterNameArray (variable): A string that specifies the name of the printer for the job. The location of this buffer is determined by the value of the PrinterNameOffset member.

Fields that are not defined in this section are specified in section 2.2.1.3.3.