【IT】「Windows 10」のシャットダウンを妨げる謎の「G」アプリ、マイクロソフトが説明
■ このスレッドは過去ログ倉庫に格納されています
一部の「Windows 10」ユーザーの間では1年以上前から、「G」という名称の謎のアプリによってシャットダウンが妨げられるという問題に対する懸念の声が上がっていた。Microsoftが今回、この問題について説明した。
同社はユーザーからの報告について調査し、問題を特定し、「Windows 10 Insider Preview Build 19013(20H1)」で修正した。この問題は、「Windows」が使用しているグラフィックデバイスインターフェース(GDI+)における処理上のミスによって引き起こされていたという。
Windows Insider Programチームによると、「われわれは調査の結果、GDI+に関連するウィンドウが『G』と表示されるという問題を発見した。この問題を修正したことで、今後は『GDI+ Windows ()』という名前(の部分はGDI+を使用しているアプリの実行ファイル名)が表示されるようになる」という。
また、Windowsの開発に20年以上にわたって携わっているRaymond Chen氏もさらに詳細な説明を提供した。
Chen氏によると、「G」がWindows上で表示されるのは、UnicodeのテキストをANSIで解釈してしまうというバグによって、多くの場合にアプリ名の最初の1文字目だけが表示されることになるためだという。
Chen氏は「Unicodeで記述されたメッセージを『DefWindowProcA』に引き渡した場合、最初の文字以降にある多くの文字列が切り捨てられることになる」と説明した。
GDI+ライブラリーの開発当初は、Unicodeに完全対応していなかった「Windows 98」をサポートするために、ANSIコンポーネントとしてコンパイルを行っていた。その後Windows 98のサポート終了に伴い、GDI+チームはGDI+をANSIベースのコンポーネントではなく、Unicodeベースのコンポーネントとして再コンパイルしたのだという。
Chen氏は「通知ウィンドウのプロシージャー以外は、DefWindowProcAに対する明示的な呼び出しが行われていた。このため文字セットにおける未対応文字の大半は、コンパイラーによって型の不整合が捕捉されていた。しかし、DefWindowProcにおける文字セットへの依存については、パラメーター型で考慮されていなかった。
その結果、メッセージの受け取り方は暗黙の変換に任され、それによって引き起こされる不整合はコンパイラによって捕捉されなかった」と続けた。
「通知ウィンドウはテキスト処理をいっさい行わないため、この不整合はテスト段階でも検出されなかった。『GDI+ Hook Window』というウィンドウのタイトルは単なる『G』になったものの、タイトル自体はどこにも使われていないため、この間違いは他に悪影響を及ぼさなかった。
このウィンドウタイトルがユーザーの目に触れることはない。ただし、例外がある」(Chen氏)
「あるプログラムがサインアウトまたはシャットダウンを妨げた場合、Windowsはそのプログラムに属している目に見えるウィンドウを探し出し、『Blocked Shutdown Resolver』(BSDR)画面に表示しようとする。
しかし、そのプログラムが目に見えるウィンドウを保持していない場合、BSDRは可視/不可視に関係なく該当プログラムに属している任意のウィンドウを選択する。このため、『G』という名称の目に見えないウィンドウが選択される場合も出てくる」(Chen氏)
CNET
https://japan.cnet.com/article/35145860/ 窓を閉めようとしたらゴキブリが挟まって閉まらなかったみたいな >>1
>UnicodeのテキストをANSIで解釈してしまうというバグによって、多くの場合にアプリ名の最初の1文字目だけが表示されることになるためだという。
これくらいはよ直せよ なるほど、
G NUL D NUL I NUL ... ってなってるから
G なのね。
それがシャットダウンを妨げると アプリ名や理由はどうでもいいから普通にシャットダウン出来るようにしてくれ そもそも最初から欠陥OS
結論
Windowsは糞
macは最強 こういう余計なことやっているからアンドロイドにシェアを奪われるのだと思います。 こんなゴミOSの上で仕事してるやつがいまだに大勢いるのが草 >>20
人生の致命的なアプリケーションエラーです。
ご愁傷さま。 Unicodeにすらまともに対応していないwindows10 >>1
アップデートで勝手にシャットダウンされる方が迷惑なんだが? 7から動きたくないよおおおおおおおおおおおおおおおおおおおおおおおおおおお >>25
セキュリティ関係のバックグラウンドプロセスがもうね
馬鹿にコンピュータを使わせようとするから。 そんなんどうでもいいから、エラーが発生した時のメッセージをもっと分かりやすくしろ
どのメッセージも何一つわからんわ 無駄な機能つけてリソース食わせるのやめてほしい
もっとさぁシンプルでいいんだよ 仕事終わってシャットダウンかけて翌朝出社したら
開いているアプリがどうたらとか出ててシャットダウンされていなかったあれの事か? 都合悪いことを読ませたくないやつのやってるふり感の文章 仕事用にwin8とwin8.1のノーパソを確保して使ってる
デスクトップはwin10だけどアップデートでどうなるか分からないし
仕事しようとしたら延々とアップデートが始まったりするから 有償でいいから7を継続して使わせてくれないか。
win8以降毎回毎回問題が多すぎる。 チェンさんクビだな
実際Windowsは劣化が止まらない
開発陣の一新が望まれる スリープにしてもなぜか起動してるのはこのせいだったのか・・・ >>24
>>25
起動もな。
ロジック良いから大丈夫。と思ってるんだろうか。
そのロジックが混乱してるんだが。 バグの原因を説明してるだけだからな
なおされるのは時間の問題だろうけど コンピュータに詳しい人は、この文書読んで理解できるの?
すげえな >>43
プログラマーならみんな分かるよ
分からんのはただの不勉強 それよりJavascriptがエラー出てインストールできない問題をなんとかしてほしい。
しょっちゅう、タスクバーの右端に、インストールしろというメッセージが出て、
うるさいんだけど。 Windows10になってからアップデート来ても無視して様子見ないと怖い >>51
強制終了しますか?とか出るよな。
これ知らんぞ。みたいなの。 >>1
メッセージの送信先が有無を言わさずウィンドウになるのがwinの構造上の根本的な欠陥
見た目上ウィンドウ持ってないアプリでも、
メッセージ処理するために不可視のウィンドウ作る必要があるのには、
最初えらい違和感があった
もう慣れたけどさ >>44
サポ切れのOS使ってなんか問題になったとか聞いたことないから
別に使っててもいいんじゃない? コマンドプロンプトに
Null Pointer Exception
と入力すればシャットダウンできるぞ ふたつの話があるな
まず文字コードのバグがあります
これのせいで本来GDIなんやらと表示されるのがGになります
次にシャットダウンするときに妨害してるウインドウ
(起動してるプログラム)を探すんだが、それがないときに
Gを拾ってきちゃうのごめんね >>19
バッチ一行で解決
高速スタートアップマジ害悪 ほんとappleもGoogleもMicrosoftも不具合多いな
やはり日本企業が落ちぶれず頑張ってたらこんなことにはなってなかった 休止状態から勝手に起動するのもやめてくれよ
モグラたたきはめんどくさいし夜中勝手に起動するのは怖いよ もう互換なんか切って
もっとシンプルなさいきょうのOSをつくれよ >>76
こいつもプラグにカーボン張り付いて、いきなりエンストする欠陥抱えてたな(笑) >>86
何故、OSやゲートウェイをきちんとやらなかったのかね。
日本ってこれしか無いのに。引き籠りでも出来るし。
結局、楽天だけ。 >>86
日本製って余計な機能つけて58万円とかで売りそうなイメージw 要するに、ユーザーに実害があるわけじゃないから直すまでは勘弁してくれ
Gが出てくるバグなんて文字通り過ぎてぎょっとするけどなw >>41
レジストリエントリーを消す寸前で復活するのでなかなか消せない
・コルタナ終了!
・レジストリエントリー消去!
・現在使用中のため拒否されました
・キ〜〜〜〜〜〜〜〜〜!
・ほっとこ・・・ ■ このスレッドは過去ログ倉庫に格納されています