検証ありがとうございます。
> ・kbunarc.kpi, kbvsti_x86.kpi, kbvsti_x64.kpi> VS2022(17.9.3)で kpi_sources_20221023.7z からビルドしたkpiでもXPで動作しました。(kbvstiはロード出来る事だけ確認)> WinXP(x64)でもx86,x64の両方が動作しました。私の環境ではどうしても AcquireSRWLockExclusive に依存するバイナリが出来てましたが、
一度 VS2022 をアンインストールしてからやり直したらうまく行きました。
が、その後も色々いじってたらまた再発してしまいました。
どうやら個別のコンポーネントに
MSVC v141 - VS2017 C++ x64/86ビルドツール(v14.16)
というのも追加しておくと大丈夫になるみたいで、これを外すとダメみたいです。
あと MFC と ATL も v141 のも入れておかないと kbviv.kpi のビルドが出来ないようですね。
> ・Windows XP Professional x64 SP2 での動作確認> 64bit版の本体は起動不可> →「...\x64\Kbmplay.exe は有効な Win32 アプリケーションではありません。」あら、やっぱり動きませんでしたか。もしかして
https://kobarin.sakura.ne.jp/test/Kbmplay20240317.7zこれだったらどうでしょうか。リンカオプションの OS バージョンが 6.0 になってたのを
5.0 に変更してみました。(32bit版は 5.0 でした)
> →x64プラグインを表示し、同名のx86プラグインを無効化すればx64プラグインも動作する> →→kbunarc.kpi(x64), kbvsti_x64.kpi は「ReleaseSRWLockExclusive ~」でロード失敗> →→kbunarc.kpi(x86), kbvsti_x86.kpi はエラーメッセージは出ないがロード失敗> →→kvwma.kpi(x64)は 「WMVCore.DLL が見つからなかったため、このアプリケーションを開始できませんでした。」でロード失敗> →→→wmp11-windowsxp-x64-JA-JP.exe をインストールしてみても駄目だったので諦めWMA は出たばかりの頃は何かを別途インストールしないと動作しませんでしたよね。
それが XP の時代だったかそれより前だったかもう覚えていませんが。
もう諦めかけてましたが、検証してくれたおかげで少なくとも 32bit 版は問題解決しそうなので
まだしばらく XP 対応続けても良いかな。
記事編集