none
Windows 10 Version 1803 / Windows Server 2019 以降での文字印刷時の動作について RRS feed

  • 全般的な情報交換

  • こんにちは。Windows プラットフォーム サポートの近藤です。
    本日は Windows 10 Version 1803 / Windows Server 2019 での文字の印刷時の動作について、ご紹介いたします。

    Windows 10 Version 1803 (サーバー バージョンでは Windows Server 2019) 以降では、それ以前と比較して、文字に関する処理に変更が加えられています。
    具体的には、GDI (Graphics Device Interface : フォントや画面表示を処理する描画エンジン) で文字の印刷を行う際、印刷する文字に対応するフォントの読み込みやグリフ (文字の形状) に関する処理を多数行いますが、以前の OS バージョンでは、これらの処理を Windows のカーネル モードで直接 行っていたのに対して、Windows 10 Version 1803 以降ではユーザー モードのプロセスである fontdrvhost.exe (Usermode Font Driver Host プロセス) が行う動作となりました。

    この動作の変更は、以下のような機能の改善、向上を目的として行われています。

    • カーネル モードで直接フォント ファイルの読み込みや解析を行わないことで、特殊に細工したフォント ファイルを悪用したカーネル モードの侵害や特権昇格などの攻撃を受けにくくなり、セキュリティが向上します。
    • フォントに関わる処理において問題が発生した際 fontdrvhost.exe が例外処理を担うことで、フォントの処理を要求した要求元のアプリケーションや Print Spooler サービスの異常終了を防ぐことが可能です。
    • ユーザー単位でのフォントのインストールが可能となります。(Windows 10 Version 1809 以降)

    また動作変更の結果として、fontdrvhost.exe と GDI の通信に関するオーバーヘッドが発生し、以前よりも文字の印刷時の処理に時間がかかる場合があります。この状況は、常に発生するものではありませんが、発生した場合は、Windows OS の仕組みの変更による動作の相違であり、問題の発生を回避することはできません。

    この点につきましてはさらに製品の品質向上を行うべく、製品開発部門と協力して将来の Windows OS での改善、対応を検討しています。


    2019年6月12日 6:14
    所有者