mov ax, 0104h ;Hold Print Jobs and Get Status
int 2Fh ;Multiplex Interrupt
mov ErrorCount, dx ;errors during printing
mov [PrintQueue], si
mov ax, ds
mov [PrintQueue+2], ax ;ds:si points to print queue
Hold Print Jobs and Get Status (Interrupt 2Fh Function 0104h) stops the current print job and returns the address of the print queue.
This function has no parameters.
When the function returns, the DX register contains an error count and DS:SI contains the 32-bit address (segment:offset) of the print queue.
The print queue consists of a series of 64-byte entries, each containing a zero-terminated string specifying the path of a file in the queue. The first file in the list is the one currently being printed. The last entry in the list consists of a single null character (00h).
Programs must not change the contents of the print queue. To add a file, use Add File to Queue (Interrupt 2Fh Function 0101h); to remove a file, use Remove File from Print Queue (Interrupt 2Fh Function 0102h).
The print spooler continues to hold the current print job until Release Print Jobs (Interrupt 2Fh Function 0105h) is called.
Interrupt 2Fh Function 0101h Add File to Queue
Interrupt 2Fh Function 0102h Remove File from Print Queue
Interrupt 2Fh Function 0105h Release Print Jobs