• Application calls DevOpenDC to open an OD_QUEUED device for printing PM_Q_STD data.

      a.

        Hardcopy driver calls SplStdOpen to open a recording.
      2.
        Application calls DevEscape with DEVESC_STARTDOC.

          a.

            Hardcopy driver calls SplStdStart to start recording, and SplQmOpen to open a spool file if one is not yet open.
          b.
            Spooler records all Gpixxx calls and some escape codes in the spool buffer.

            Note: Recording does not stop the flow of Gpixxx calls through the system. These calls are processed and the resulting Grexxx calls are passed on to handling routines in the graphics engine and presentation driver. Special considerations apply for escape codes. For details, see the individual escape codes under GreEscape.

          c.
            Hardcopy driver performs as if the DC was opened as OD_INFO. The presentation driver tracks the current position, does any bounds calculation required, and responds to queries from the application. In particular, the presentation driver must be able to understand and reply to:
              
                DevQueryCaps
              
                DevQueryHardCopyCaps
              
                DevQueryDeviceNames
              
                DevPostDeviceModes
              The calls can be journaled, but the journal file is not saved.
            3.
              Application calls DevEscape with DEVESC_ABORTDOC to end the document.

                a.

                  Hardcopy driver calls GreStopJournalFile.
                b.
                  Hardcopy driver calls GreDeleteJournalFile.
                c.
                  Hardcopy driver calls SplStdStop to stop the recording.
                d.
                  Hardcopy driver calls SplStdDelete to delete the data in the spool buffer.
                e.
                  Hardcopy driver calls SplQmAbortDoc to stop the spool file.
                4.
                  The application calls DevCloseDC.

                    a.

                      Hardcopy driver calls SplStdClose and SplQmClose to close the recording and the spool file.

                    This method of spool file creation is shown in the following illustration.

                    Spool File Creation - OD_QUEUED PM_Q_STD


                    [Back: Normal Sequence of Events;]
                    [Next: PM_Q_RAW]