Windows上でシステムチップセットのノースブリッジ、サウスブリッジ名、その他のハードウェア情報をプログラムで見つける方法はありますか?私はWMIがこの情報を提供しているとは思わない。 hwinfoとcpuinfoのようなツールがどのようにこの情報を見つけるかを調べようとしています。チップセットのノースブリッジ、サウスブリッジ名、その他のハードウェア情報をプログラムでWindows上で見つける方法はありますか?
答えて
人々は通常、時にはそれが(SMBIOS経由)BIOSからベンダー埋め情報に依存しているためであっても、「間違った」の情報を提供し、それは有用な情報多くの時間を提供するために失敗したWMI、を通じてものの、この種の操作を行いますが特定のハードウェア部分と通信するのではなく、頻繁に空または間違ったものになることがあります。
RAM情報を取得する前にこの経験をしました。 WMIは間違ったBIOS情報を提供しました。RAMチップには、私が通信するために必要な特別なSPD(Serial Presence Detect)チップが付属しています。結局私の雇用主はCPUID APIを選択しました。ここで
CPU-Zの作者はインタビューでこのテーマについて少し語っ:
http://www.techpowerup.com/mobile/reviews/Interviews/Franck_Delattre/1.html。
このような情報を得るには、ドライバを使ってカーネルモードでPCIコンフィグレーションスペースと通信する方法や、これを行う代替APIを探す必要があります。
ここで私はその時を経てきたいくつかのリンクです:また
http://www.codeproject.com/Articles/35378/Access-Physical-Memory-Port-and-PCI-Configuration
http://support.microsoft.com/?scid=kb;en-us;253232&x=3&y=13
http://www.hollistech.com/Resources/Misc%20articles/getbusdata.htm
http://www.osronline.com/showThread.CFM?link=176210#T4
が、私は約言及する価値があると思いますWindowsのSetupDi機能は時々ablです電子メールでは不可能な情報を提供します。
- 1. Postgresでユーザ定義タイプの属性情報を見つける方法はありますか?
- 2. JavaプログラムからWindows上のファイルのバージョンを見つける方法は?
- 3. CMakeはWindows上でGoogleのprotobufを見つける方法は?
- 4. flickrのファームIDと他の写真情報を見つける方法
- 5. Cでタップアダプタのブリッジデバイス名を見つける方法はありますか?
- 6. QRコードでタイミング情報を見つける方法は?
- 7. C++を使用してWindowsでハードウェア情報を取得する方法は?
- 8. サーバー上のハードウェア情報を取得
- 9. EJBのJNDIルックアップ名をプログラムで見つける方法は?
- 10. コンパイラプラグインからScalaプログラムのステートメントを見つける方法はありますか?
- 11. Xmppの電子メール(またはその他の情報)から連絡先を見つける
- 12. linuxコマンドラインからCキーワードに関する情報を見つける方法はありますか?
- 13. ユーザープロフィールの画像と名前+その他の情報を整列する方法
- 14. 集約グループの列情報を見つける方法
- 15. Windowsでサービスまたはプログラムの実行時間を見つける方法
- 16. Herokuでメモリリークを見つける方法はありますか?
- 17. この情報をREGEXする方法はありますか?
- 18. Androidで4輪駆動車の位置情報を見つける方法は?
- 19. コントロールのオーナースレッドを見つける方法はありますか?
- 20. Bluetoothハードウェア情報
- 21. C#でショートカットターゲットの現在の場所をプログラムで見つける方法はありますか?
- 22. snmpwalkまたは別の方法を使ってlldp情報を見つける
- 23. 他の2つのタグの間に1つのタグを見つける方法はありますか?
- 24. Angular(Angular 1ではなく)に関する情報を見つける方法
- 25. Windowsの電話機「mango」で通話履歴(履歴)情報を見つける方法は?
- 26. ドッカーの統計情報からMAXメモリを見つける方法は?
- 27. Windows WebサービスからLinuxサーバーのハードウェア情報を取得
- 28. 私のPCのエンディアンをC言語を使用してプログラムで見つける方法はありますか?
- 29. Javaでそのメソッド内からメソッド名を見つける方法は?
- 30. ダイナミクスでjavascriptを使用してエンティティのビューに関する名前と情報を見つける方法crm
ありがとうございました。私はSetupDi Apiに行きました。 WMIよりも優れているように見えますが、ほとんどの場合、依然として信頼性がありません。この種のものについてまともな例を見つけることがどれほど難しいのかは驚くべきことです。もし私が信頼できる方法を見つけることになったら、私はgithubに投稿します:) – ivymike
@ivymike ok、私はRAM情報で運が悪くなかったので、SPDチップから情報を抽出するための信頼できるソースはありませんでした。私は古いPCのマザーボード上に構築された特定のICH(Intel southbridge)用のSMBUSを有効にする簡単なドライバを構築することができました。このチップから情報を抽出するには、SMBUSを有効にする必要があります.SMBUS通信モジュールとSPDデータを解釈するためのperlスクリプトが含まれています。とにかく、私はコンセプトの証拠のようにしました。特定のICHバージョンのデータシートに基づいて動作しました。 –
@ivymike ...特定のPCI構成スペースアドレス。ハードウェア仕様は、同じベンダーのバージョン間でも変更されます。私はベンダーのリストをサポートする必要があります。これはCPUID APIの機能とlm-sensorsパッケージの機能です。唯一の信頼できるソースは、この種の大規模なハードウェアをサポートする努力をするだろう。 –