KDW に 非インストールインスタンスを検出する機能実装
Windows に新しい機能を実装する時には regsvr32 を使って、レジストリに登録します。
しかし、ファイルがあっても、レジストリに登録されていないと、使うことはできません。
例えば、CoCreateInstance で機能の呼び出しをするのですが、関数に失敗したままプログラムを実行すると、エラーの原因になります。
今回KDWのデバッグ版に実装したのはこれを検出するための機能です。
ole32.dll を対象の実行フォルダに簡易インストールした後、デバッグ版の ole32.dllと入れ替えてやります(* Debug version kernel32.dll+OLE32.dll)というファイルがそうです。
実行してエラーを検出するとデバッガソフトでCLSIDとREFIIDを表示します。
この場合は、
fac23f48-31f5-45a8-b49b-5225d61401aa になっているので XAudio2が実装されていないことが分かります。
Comments