読者です 読者をやめる 読者になる 読者になる

Windows Vista における IMM32 API / Message の変更と互換性に関する影響

Vista DirectX

connect.microsoft.com の Windows Vista ベータプログラムで配布されている「Windows Vista RC1 評価ガイド」ですが,IMM32 API / Message の仕様変更に関する関する非常に重要な情報が記載されています.Windows をターゲットにゲーム開発を行われている方で,IME 制御が必要なゲームを制作されている人は是非入手して一読されることをおすすめします.
どういうことかというと,Windows Vista では従来の IMM32 がフェードアウトを開始し,標準で付属する MS-IMEText Services Framework (TSF) に完全移行されています.ATOK 2006 などの IMM32 型の IME をインストールした場合は従来の IMM32 API はフル機能が使用可能ですが,TSF 型の IME 使用時には,IMM32-TSF のブリッジ機構によってエミュレートが行われることになります.
しかし,このエミュレーションは完全ではなく,一部の IMM32 API / Message についてはサポートされません.その影響の一例が現在 DirectX SDK に付属する DXUT で,候補ウィンドウの非表示や変換候補の取得等が出来なくなっていますこれはサンプルのバグも影響しているようです.
評価ガイドを読んだところ,一部の機能については,TSF の新機能を使用してリライトが必要になるようです.ただし,その新機能に関するドキュメントは現状未公開(追記: 追加部分も公開されました『Text Services Framework Reference)という状況で,ヘッダファイルと IDL から手探りで使用することになるでしょう.
このあたり,もしかしたら某所の記事のネタに使うかもしれません.
関連スレッド