アプリケーションを「Windows Vista互換モード」(EXEを右クリックし、互換モードを有効にしてWindows Vistaを選択)で実行すると、非常に奇妙な問題が発生します。Vista互換モードでRegEnumValueが異なるバッファサイズを返す
"RegEnumValue"関数の戻りバッファ長の値が異なる値を返します。例えば
、「ズームプレーヤーMAX」(15文字)のレジストリ値を持つ:
diabled互換モードでは、RegEnumValueの「lpcbData」フィールドには、(末尾のNULL終了を含む)16の値を返します。
互換モードを有効にすると、RegEnumValueの "lpcbData"フィールドは値15(末尾のNULL終了は含まれません)を返します。
文字列変換コードを変更する必要がない回避策またはパッチはありますか?