Spooler di stampa

Il componente primario dell'interfaccia di stampa è lo spooler di stampa. Lo spooler di stampa è un file eseguibile che gestisce il processo di stampa. La gestione della stampa comporta il recupero della posizione del driver della stampante corretto, il caricamento del driver, lo spooling delle chiamate di funzione di alto livello in un processo di stampa, la pianificazione del processo di stampa per la stampa e così via. Il spooler viene caricato all'avvio del sistema e continua a essere eseguito fino all'arresto del sistema operativo.

Applicazioni che stampano creare un contesto del dispositivo stampante (DC). Quando un'applicazione crea un controller di dominio stampante, lo spooler esegue attività necessarie, ad esempio determinando la posizione del driver di stampante richiesto e quindi caricando tale driver. Lo spooler di stampa determina anche il tipo di dati usato per registrare il processo di stampa.

Il spooler di stampa supporta i tipi di dati seguenti:

  • Metafile avanzato (EMF).
  • Testo ASCII.
  • Dati non elaborati, che includono tipi di dati della stampante, ad esempio PostScript, PCL e tipi di dati personalizzati.

I tipi di dati personalizzati possono essere aggiunti al spooler installando altri driver di stampante e processori di stampa. Un processo di stampa è un documento archiviato internamente e codificato usando uno dei tipi di dati supportati e un processo di stampa può contenere una o più pagine di output. Il processo di stampa può essere costituito da più moduli; ad esempio, un processo può essere costituito da una busta e tre pagine di carta A4. Un processo di stampa viene definito (o tra parentesi) dalle funzioni StartDoc e EndDoc .

Il tipo di dati predefinito per un processo di stampa è il metafile avanzato. Un record EMF è una struttura compatta usata per archiviare comandi di output del testo, comandi grafici raster e così via. Quando un'applicazione chiama StartDoc, il spooler crea un file di spool e un file di dati e inizia a archiviare i record EMF nel file di spool. Ogni volta che l'applicazione chiama una delle funzioni di disegno GDI, vengono creati uno o più nuovi record EMF e archiviati nel file di spool. I file di spool e dati vengono creati in una directory del sistema operativo. Il spooler usa il file di spool per archiviare i record EMF e usa il file di dati per registrare il tipo di modulo, il tipo di dati per il processo di stampa, la stampante di destinazione e così via. Il spooler elimina questi file quando il processo è stato stampato correttamente.

Metafile di formato avanzato