[ttssh2-dev 750] Re: ドキュメント: "Win32API" について

Back to archive index
matsuo zmats****@gmail*****
2023年 9月 24日 (日) 15:28:04 JST


松尾です。

 > 誤った情報を流してしまうことを心配しています。
見ていただくととても心強いです。

(1)
Windows 95 では
GetPrivateProfileStringW()
WritePrivateProfileStringW()
は存在します。exeの読み込み(動的なリンク)はできますが
実行結果は常にエラーを返します。
98, ME, いわゆる 9x系では同じ実装ではないかと予想されます。
SPの当たり具合でかわるかもしれないですね。

(2)
Windows 7,8 でも動作すると思います。(3)の動作が
行われるかはわからないです。

(3)
変換されます。
ただ、(4)でもありますが、iniファイルにBOMがないとき、
ファイルの中身がANSIなのかをチェックしているのかはわからないです。
極端な例ですがバイナリファイルに書き込むとどうなるのかという場合です。

(4)
 > 9x の WritePrivateProfileStringW() は UTF-16 LE で
 > 書き込めないのでしょうか?
書き込めません、常にエラーを返します

 > それとも、WritePrivateProfileStringA() で Unicode iniファイルに書き込む、
Windows95でテストしたところ書き込まれませんでした。
ANSIで書き込まれまれてファイルが壊れる場合があるのか?と
予想したのですが書き込まれません。
ファイルにBOMがないこと(加えてANSIのテキストであること?)を確認しているのかもしれません。

 > あるいは WritePrivateProfileStringW() で 非Unicode iniファイルに書き込む
 > 自動変換が行われない、ということでしょうか?
書き込めません、Unicode版は存在しますが常にエラーを返します


- Windows 95 には GetPrivateProfileStringW() などのUnicode系APIは存在する
   - 存在するが常にエラーを返す
- Windows 95 にはACP/Unicode変換が入っていない
- Windows 95 では GetPrivateProfileStringA() などANSI系APIからは
   Unicode iniファイルへはアクセスできない
- NT系(少なくともWindows10以降)では ACP/Unicode変換が行われる

Unicode版のiniファイルが使えるのはあまり知られていないと思います。
サポートがいつから始まっているのかもよくわかりません。
Windows10,11に関してはTera Termからうまく利用できていると思います。



ttssh2-dev メーリングリストの案内
Back to archive index