2017-01-16 4 views
1

たとえば、EMFでスプールする場合は、通常は「高度な印刷機能」に目を向けます。しかし、私はいくつかのプリンタドライバでこれが動作しないことに気付きました(これは予期せぬことではありませんが、v3ドライバがそれをサポートすることは必須ではありません)。実際、デバイス依存の設定(つまり、DEVMODE構造体の余分なエンドチャンク)が、スプールファイルがEMFに出てきたかどうかを判断したのは、あるドライバに気付きました。では、印刷スプーラはどのデータ型を渡すべきかをどのように決定しますか?Windowsのスプーラは、どのようなデータタイプをプリントプロセッサに送信するのかを正確に決定しますか?

プリントドライバのDDI関数と構造体を調べた結果、これに関するものが見つかりませんでした。 DrvDeviceCapabilitiesにはDC_EMF_COMPLIANTフラグがありますが、それはWindows 95のみです。後で実行するシステムでは、スプーラはどのように動作しますか?

+0

この質問のように見えますが、ほこりになるようになっています:(類似の質問がここにありました:http://stackoverflow.com/questions/16932044/can-a-windows-print-processor-force-a-spool-data- ?rq = 1とタイプしましたが、スプールのプロパティを設定すると言っていましたが、私はデバイス独立の設定に依存しているのを見て正しいとは言えません。 – Patrick

+0

私は、 – Patrick

答えて

0

多くの検索の後、私はドライバがRAWを使用するのを強制するのに十分な(しかし、おそらく必要でない)条件を見つけました。 DrvEscapeMETAFILE_DRIVERのサポートを問い合わせて呼び出され、ドライバが0を返すと、スプーラは何があってもそのままスプールします。これは私が見つけたドライバーの場合です。

関連する問題