SetupDiのサンプルコードを実行するには?

解決


michi  2006-01-25 11:41:11  No: 60516  IP: 192.*.*.*

MSのページに記載されている「SetupDi を使用してハードウェア機器を列挙する方法」を実行したいのですが、コマンドプロンプトが表示されると同時に「PSXDLL.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。」とエラー出て実行できません。dllはDDKからプロジェクトに入れており、PSXDLL.dllもプロジェクトに入れております。
環境はXPsp2、VC++6です。

宜しくお願いします。

編集 削除
επιστημη  2006-01-25 11:58:12  No: 60517  IP: 192.*.*.*

DLLをプロジェクトに入れるって、どういう意味ですか?
DLLにPATHは通っていますか?

編集 削除
michi  2006-01-25 13:17:05  No: 60518  IP: 192.*.*.*

ご返答ありがとうございます。
勘違いしていました。
PSXDLL.dllではなくPSXDLL.libをプロジェクトに入れていました。。
PSXDLL.dllがあればそこにpathを通せばいけるということですよね。
しかしPSXDLL.dllを探しましたが発見することができませんでした。。

編集 削除
michi  2006-01-25 14:20:16  No: 60519  IP: 192.*.*.*

w2kにPSXDLL.dllがありましたので
それを利用しましたが、今度は
「アプリケーションを正しく初期化できませんでした」と
エラーが出るようになりました。
もっと基本的なところで間違えているのでしょうか。。

これまでの経過は以下の通りです。
まずMSのサンプルにDDKが必要と記載されていましたので
winXP用のDDKを入手しインストールしました。
次にVCでコンソールアプリを作成しサンプルコードを
コピペしました。
実行の際に以下の外部シンボルの未解決エラー
「外部シンボル"_imp_SetupDiDestroyDeviceInfoList@4"は未解決です
外部シンボル"_imp_SetupDiGetDeviceRegistryPropertyA@28"は未解決です
外部シンボル"_imp_SetupDiEnumDeviceInfo@12"は未解決です
外部シンボル"_imp_SetupDiGetClassDevs@16"は未解決です
外部参照4が未解決です」
が出ましたので、WINDDK\lib\wxp\i386にありましたlibファイルを全て
プロジェクトに追加しました。
そうしたところ先程のPSXDLLのエラーが表示されるようになりました。

編集 削除
michi  2006-01-25 17:05:33  No: 60520  IP: 192.*.*.*

すいません。
setupapi.libだけ追加したところ動きました。
お騒がせ致しました。
もっと基本勉強します。。

編集 削除
επιστημη  2006-01-25 21:16:00  No: 60521  IP: 192.*.*.*

# ゴミです

「昨晩子供が熱出して薬箱にあるもんみんな飲ませたら余計にひどくなりました」
みたいな orz

編集 削除
シャノン  2006-01-28 22:22:20  No: 60522  IP: 192.*.*.*

PSXDLL ってのは POSIX サブシステムのファイルですね。
Windows Services for UNIX をインストールしないと存在しません。

編集 削除