KDW に 非インストールインスタンスを検出する機能実装

Windows に新しい機能を実装する時には regsvr32 を使って、レジストリに登録します。
しかし、ファイルがあっても、レジストリに登録されていないと、使うことはできません。

例えば、CoCreateInstance で機能の呼び出しをするのですが、関数に失敗したままプログラムを実行すると、エラーの原因になります。


今回KDWのデバッグ版に実装したのはこれを検出するための機能です。

ole32.dll を対象の実行フォルダに簡易インストールした後、デバッグ版の ole32.dllと入れ替えてやります(* Debug version kernel32.dll+OLE32.dll)というファイルがそうです。

kdwdlg
実行してエラーを検出するとデバッガソフトでCLSIDとREFIIDを表示します。

この場合は、
fac23f48-31f5-45a8-b49b-5225d61401aa になっているので XAudio2が実装されていないことが分かります。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です