印刷スプーラー

印刷インターフェイスの主要なコンポーネントは、印刷スプーラーです。 印刷スプーラーは、印刷プロセスを管理する実行可能ファイルです。 印刷の管理には、正しいプリンター ドライバーの場所の取得、そのドライバーの読み込み、印刷ジョブへの高レベル関数呼び出しのスプール、印刷用の印刷ジョブのスケジュール設定などが含まれます。 スプーラーはシステムの起動時に読み込まれ、オペレーティング システムがシャットダウンされるまで引き続き実行されます。

印刷するアプリケーションは、プリンター デバイス コンテキスト (DC) を作成します。 アプリケーションがプリンター DC を作成すると、スプーラーは、必要なプリンター ドライバーの場所を決定し、そのドライバーを読み込むなどの必要なタスクを実行します。 印刷スプーラーは、印刷ジョブの記録に使用されるデータ型も決定します。

印刷スプーラーは、次のデータ型をサポートしています。

  • 拡張メタファイル (EMF)。
  • ASCII テキスト。
  • 生データ。PostScript、PCL、カスタム データ型などのプリンター データ型が含まれます。

追加のプリンター ドライバーと印刷プロセッサをインストールすることで、スプーラーにカスタム データ型を追加できます。 印刷ジョブは、内部的に格納され、サポートされているデータ型のいずれかを使用してエンコードされたドキュメントであり、印刷ジョブには 1 つ以上の出力ページが含まれる場合があります。 印刷ジョブは、複数のフォームで構成される場合があります。たとえば、ジョブは 1 つの封筒と A4 用紙の 3 ページで構成される場合があります。 印刷ジョブは、 StartDoc 関数と EndDoc 関数によって定義 (または角かっこで囲まれた) です。

印刷ジョブの既定のデータ型は、拡張メタファイルです。 EMF レコードは、テキスト出力コマンド、ラスター グラフィックス コマンドなどを格納するために使用されるコンパクトな構造です。 アプリケーションが StartDoc を呼び出すと、スプーラーはスプール・ファイルとデータ・ファイルを作成し、EMF レコードのスプール・ファイルへの保管を開始します。 アプリケーションが GDI 描画関数のいずれかを呼び出すたびに、1 つ以上の新しい EMF レコードが作成され、スプール ファイルに格納されます。 スプール・ファイルとデータ・ファイルは、オペレーティング・システム・ディレクトリーに作成されます。 スプーラーはスプール・ファイルを使用して EMF レコードを保管し、データ・ファイルを使用して、フォームのタイプ、印刷ジョブのデータ・タイプ、ターゲット・プリンターなどを記録します。 スプーラーは、ジョブが正常に印刷されると、これらのファイルを削除します。

Enhanced-Format メタファイル