Winspool

Winspoolとは、Microsoft社のWindowsにおける印刷スプールである。

Windows 95以降から存在しているが、OSのバージョン（種類）によってWinspoolの仕様が異なっているが、下位互換性があるhttps://support.microsoft.com/ja-jp/help/981070/windows-can-t-open-add-printer-error-in-a-64-bit-version-of-win7-or-of。

言語から利用する際はWin32APIなので、Winspool.DRVではあるがDLL通信を利用する言語仕様に合わせて記述する必要がある。

C++であれば #include <winspool.h> がサポートされているhttps://s-kita.hatenablog.com/entry/20110703/1309674327。

スプール先をネットワークプリンタにすることはできるが、言語からWinspoolを利用しての出力は、利用しているWindows上にインストールされているプリンタのみが利用対象プリンタとなる。

スプールの種類には一般的なNT EMF スプーリングの他に、プリンタドライバによるGDI処理を行わずにプリンタ固有の制御コード（ESC/PやPDFなど）を直接プリンタへ送信する方法がある。

プリンタ固有の制御コードは生(Raw)情報なので、事前に生成してプリンタへ送信することを「Raw印刷」とも呼ばれるhttps://blogs.msdn.microsoft.com/jpwdkblog/2009/08/14/683/。具体的なソースコードとして、GitHub上でRawPrintが公開されているhttps://github.com/frogmorecs/RawPrint  （コマンドラインの引数にプリンタ名、ファイルパス、印刷ジョブ名の3つを指定することが可能）。

 脚注 

w