2012-07-16 7 views

cevap

3

İnsanlar normalde bazen (SMBIOS üzerinden) BIOS satıcı doldurdu bilgi dayanır, çünkü hatta "yanlış" bilgi vererek, bu yararlı bilgiler bir çok kez sunamamaktadır WMI, aracılığıyla bu tarz şeyleri yapmak ama Belirli donanım parçasıyla iletişim kurmak yerine sık sık boş veya yanlış gelir.

Bu bilgiden önce RAM bilgisini aldım. WMI, yanlış bir BIOS bilgisi sağladı ve RAM yongalarının, iletişim kurmam gereken özel bir SPD (Seri Varlık Algılama) çipi ile geldiğini gördüm. Sonunda işverenim CPUID API'yi seçti.

http://www.techpowerup.com/mobile/reviews/Interviews/Franck_Delattre/1.html:

İşte CPU-Z yazar bir röportajda bu konuda biraz konuşur.

Böyle bir bilgi edinmek için, çekirdek modunda PCI Configuration Space ile bir sürücü aracılığıyla nasıl iletişim kurabileceğinizi araştırın ya da bunu sizin için yapacak alternatif bir API'ye gidin.

İşte o zaman geçtiniz bazı bağlantılar: Ayrıca

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

, ben yaklaşık bahsetmeye değer olduğunu düşünüyorum Windows'ta SetupDi işlevleri bazen abl'dir WMI'nın yapamayacağı bilgi sağlamak için e.

+0

Teşekkürler Chico. SetupDi Api'den geçtim. WMI'dan daha iyi görünseler de, çoğu zaman hala güvenilmezler. Bu tür şeyler için iyi bir örnek bulmak ne kadar zor. Eğer güvenilir bir yol bulmaya devam edersem, bunu github üzerine yayınlayacağım :) – ivymike

+0

@ivymike Tamam, RAM bilgisiyle şanslı değildim, SPD çiplerinden bilgi çıkarmak için GÜVENİLİR KAYNAK YOKTUR. Eski PC anakartım üzerine kurulu belirli bir ICH (Intel güney köprüsü) için SMBUS'u etkinleştirmek için basit bir sürücü yapabildim. SMBUS'u etkinleştirmek, bu yongalardan bilgi almanın ilk adımıdır, SMBUS iletişimi için bir modül ve SPD verilerini yorumlamak için bir perl betiği olan linux lm-sensörleri paketi hakkında bir kılavuz buldum. Her neyse, ben sadece bir kavram kanıtı gibi yaptım, özel ICH versiyonunun veri sayfasına dayanarak çalıştı, bu da ... –

+0

@ivymike ... özel PCI Yapılandırma Uzay adresleri. Donanım özellikleri, aynı satıcı için sürümden sürümüne bile değişir. Satıcıların listesini desteklemem gerekecek. Bu, CPUID API'sinin yaptığı ve lm-sensörleri paketinin yaptığı şeydir. Tek güvenilir kaynak, bu tür destekleyici çabaları destekleyen büyük bir donanımdır. –

İlgili konular