Winspool
Winspoolとは、Microsoft社のWindowsにおける印刷スプールである。
Windows 95以降から存在しているが、OSのバージョン(種類)によってWinspoolの仕様が異なっているが、下位互換性がある。
言語から利用する際はWin32APIなので、Winspool.DRVではあるがDLL通信を利用する言語仕様に合わせて記述する必要がある。
C++であれば #include <winspool.h> がサポートされている。
スプール先をネットワークプリンタにすることはできるが、言語からWinspoolを利用しての出力は、利用しているWindows上にインストールされているプリンタのみが利用対象プリンタとなる。
スプールの種類には一般的なNT EMF スプーリングの他に、プリンタドライバによるGDI処理を行わずにプリンタ固有の制御コード(ESC/PやPDFなど)を直接プリンタへ送信する方法がある。
プリンタ固有の制御コードは生(Raw)情報なので、事前に生成してプリンタへ送信することを「Raw印刷」とも呼ばれる。具体的なソースコードとして、GitHub上でRawPrintが公開されている (コマンドラインの引数にプリンタ名、ファイルパス、印刷ジョブ名の3つを指定することが可能)。