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

  • Application calls DevEscape with DEVESC_STARTDOC to start the document.

      a.

        Hardcopy driver calls SplStdOpen to open a spool file.
      b.
        Hardcopy driver calls GreCreateJournalFile to create a journal file.
      c.
        Hardcopy driver calls SplQmStartDoc to start the spool file.
      d.
        Hardcopy driver calls GreStartJournalFile to start recording Grexxx calls.

        Note: Recording does not block the flow of Grexxx calls to handling routines in the graphics engine and presentation driver.

      e.
        Hardcopy driver processes the incoming Grexxx calls to create the first band of data for the spool file.
      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 SplQmAbortDoc to stop the spool file.

            Note: The hardcopy driver can be processing the DEVESC_ENDDOC (banding, for example) and a DEVESC_ABORT comes into the hardcopy driver on another thread.

          4.
            Application calls DevCloseDC.

              a.

                Hardcopy driver calls SplQmClose to close the spool file.

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

              Spool File Creation - OD_QUEUED PM_Q_RAW


              [Back: Normal Sequence of Events:]
              [Next: Querying and Setting Configuration Data]