Windows 10 Creators Update で Credential Provider から MessageBox を呼び出すと表示が乱れる場合がある
こんにちは、Platform SDK (Windows SDK) サポートチームです。
今回は、Windows 10 Creators Update において、Credential Provider から MessageBox を呼び出した場合に確認されている問題についてご案内します。
現象
Windows 10 Creators Update において、Credential Provider から MessageBox 関数を呼び出した場合に表示が乱れ、指定した文字列が欠けて表示される現象が確認されています。現象の一例として、Windows 10 Creators Update での実行をした場合のスクリーンショットを掲載します。
- コード
hr = this->_pCredProvCredentialEvents->OnCreatingWindow(&hWnd);
MessageBox(hWnd, "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほ", "MessageBox", MB_OK);
上記コードの場合、正しい表示は以下となります。
これに対し、以下のように、すべての文字が表示されない状況となります。
原因
この動作は、MessageBox 関数内で、表示箇所およびに表示領域の演算にて誤りが発生することが原因です。
マイクロソフトでは、この不具合について現在も調査中です。詳細については、わかりしだいこの資料に掲載を予定しています。
回避策
DPI を 100% 以外に設定をいただくことにより回避ができることが確認されております。
更新 9/19
日より開発部門にてリリース準備を行っておりました修正が含まれる累積修正パッケージの
公開が昨夜米国時間 9/12 に完了いたしました。
本パッチを適用いただき修正をご確認いただけますと幸いです。
KB および、ダウンロードをいただく Update カタログの URL につきましては
以下に記載をさせていただきました。
September 12, 2017—KB4038788 (OS Build 15063.608)
https://support.microsoft.com/en-us/help/4038788/windows-10-update-kb4038788
Microsoft Update カタログ
https://www.catalog.update.microsoft.com/Search.aspx?q=KB4038788