次の方法で共有


プリンターの色機能を特定する

重要

Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。

詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください 。

色と非色 (モノクロまたはグレースケール) デバイスを区別するために、Windows 2000 以降の NT ベースのオペレーティング システム バージョンでは、DrvDeviceCapabilities 関数を呼び出しでDC_COLORDEVICE定数を渡します。 この関数は、デバイスが色をサポートしている場合は 1 を返し、デバイスがモノクロまたはグレースケール出力を生成する場合は 0 を返します。 すべてのプリンター ドライバーは、DC_COLORDEVICE 定数の DrvDeviceCapabilities の呼び出しをサポートすることをお勧めします。

ドライバーが DrvDeviceCapabilities 関数を実装することは非常に重要です。 それ以外の場合は、次の理由により、オペレーティング システムで色と非色のデバイスを区別することが困難になります。

  • NUMCOLORS 定数が渡される GetDeviceCaps 関数 (Windows SDK ドキュメントで説明) を呼び出すと、通常、ほとんどの非色デバイスでは 2 以下、色デバイスでは 2 より大きい戻り値が返されます。 オペレーティング システムは、モノクロデバイスとグレースケールデバイスを区別できません。

  • DEVMODEW 構造体の dmColor メンバーの値は、デバイスが色デバイスか非色デバイスかを示す信頼できるインジケーターではありません。 特定のプリンター ドライバーは、色を生成できないデバイスの場合でも、このメンバーを DMCOLOR_COLOR に設定します。