2.5.3.7.3 Submitting a Print Job Using the SMB Protocol Family

Goal: To print a document.

Context of Use: The user wants to print a document by using an application capable of printing. A connection to a shared print queue has been previously established. The user initiates the Print command from the application.

Direct Actor: The direct actor is the print client.

Primary Actor: The primary actor is the user.

Supporting Actors: The supporting actor is the print server.

Stakeholders and Interests:

  • Print client: The print client sends the print job data to the print queue on the print server.

  • Print server: The print server buffers the print job data that is sent to the print queue to which the print client is connected, optionally processes the print job data further, and sends it to the printer that is associated with the print queue.

  • User: The user wants to print a copy of content on the computer and chooses the Print function from the print client user interface.

Preconditions: The print spooler services are operational on the print client and the print server. Both are members of the domain and are connected to a network. The network is operational. The Active Directory system is available and operational.

Minimal Guarantee: The print job was submitted to the print server, but no job status feedback could be initiated. The print job might print, but the print client cannot show feedback.

Success Guarantee: The job is submitted, and the job progress status was received and displayed to the user.

Trigger: A user initiates this use case by selecting the Print command from an application that can print.

Main Success Scenario:

  1. The user initiates a print job at a command prompt by executing a copy /b FILE \\SERVER\PRINTQ command where FILE is a local file containing print job data, SERVER is the name of the server, and PRINTQ is the name of a shared print queue.

  2. The print client uses the SMB protocol family to submit the file containing the print job data to a printer share on the print server.

  3. The print client indicates the start of a new logical page to the print server, repeatedly sends data for the page, and signals the end of a logical page to the print server by using the Print System Remote Protocol [MS-RPRN]. The print client repeats this step for all pages in the document.

  4. After sending all the pages of the print job to the print server, the print client ends the print job by using the Print System Remote Protocol.

  5. The print client closes the printer handle by using the Print System Remote Protocol.