Czy istnieje sposób programowego znalezienia północnego mostka chipsetu systemu, nazw mostków południowych i innych informacji o sprzęcie w oknach? Nie sądzę, że WMI dostarcza tych informacji. Próbuję dowiedzieć się, jak narzędzia takie jak hwinfo i cpuinfo znajdują tę informację.Czy istnieje sposób programowego znalezienia mostka północnego chipsetu, nazw mostków południowych i innych informacji o sprzęcie w oknach?
Odpowiedz
Ludzie zwykle robią tego rodzaju rzeczy za pośrednictwem WMI, , ale nie udostępniają użytecznych informacji wiele razy, nawet dostarczając "złe" informacje, ponieważ czasami opiera się na informacji dostarczonej przez producenta z BIOS-u (poprzez SMBIOS), które często jest puste lub błędne, zamiast komunikować się z konkretną częścią sprzętową.
Przeszedłem przez to doświadczenie wcześniej, aby uzyskać informacje o pamięci RAM. WMI dostarczył złe informacje o BIOS-ie i odkryłem, że chipy RAM są wyposażone w specjalny układ SPD (Serial Presence Detect), z którym potrzebowałem się komunikować. W końcu mój pracodawca zdecydował się na CPUID API.
Tutaj autor CPU-Z opowiada trochę na ten temat w wywiadzie:
http://www.techpowerup.com/mobile/reviews/Interviews/Franck_Delattre/1.html.
Aby uzyskać takie informacje, należy poszukać sposobu komunikacji z przestrzenią konfiguracji PCI w trybie jądra za pośrednictwem sterownika lub skorzystać z alternatywnego interfejsu API, który wykonałby to za Ciebie.
Oto kilka linków, jakie przeszły w tym czasie:
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
Także myślę, że warto wspomnieć o SetupDi działa w systemie Windows, które czasami są abl e, aby dostarczyć informacji, których WMI nie może.
- 1. Czy istnieje sposób uzyskania informacji o GPU?
- 2. Czy istnieje sposób programowego zaznaczania tekstu w widoku TextView?
- 3. Czy istnieje sposób programowego ustawiania parametrów kontekstowych w osadzonym pomoście?
- 4. W jaki sposób odzyskujesz informacje o ciśnieniu igły w oknach?
- 5. Czy istnieje sposób programowego anulowania edycji pola tekstowego?
- 6. Uzyskaj informacje o sprzęcie w systemie Android?
- 7. Czy istnieje sposób umieszczenia informacji NLog.config w pliku app.config?
- 8. Czy istnieje sposób wyświetlania nazw kontenerów w statystykach dokowania?
- 9. Czy istnieje centralne repozytorium informacji o strefie czasowej?
- 10. Czy istnieje krótszy sposób przekazywania deklaracji klasy w przestrzeni nazw?
- 11. Czy istnieje sposób programowego odkrywania szczegółów na temat GPU urządzenia z systemem Android?
- 12. Czy istnieje ostateczny przewodnik dla specjalnych folderów w oknach?
- 13. Modalne okno dialogowe niewidoczne na innych oknach
- 14. Czy istnieje międzyplatformowy sposób uzyskiwania informacji z Python OSError?
- 15. Czy istnieje ładny sposób rejestrowania nazw funkcji w lambda?
- 16. Czy istnieje lepszy sposób na pobranie informacji o identyfikatorze OpenID od dostawcy?
- 17. Ustawienia programowego powiadamiania o aplikacjach programowo
- 18. Czy istnieje sposób na sprawdzenie, czy zegar systemowy został cofnięty w oknach?
- 19. Czy istnieje sposób na przesłanie informacji o śledzeniu do Google Analytics z PHP?
- 20. Czy istnieje sposób na uzyskanie informacji o odwzorowaniach sprężyn zdefiniowanych przez @Controller?
- 21. Sposób programowego tworzenia wiązań layoutu
- 22. W SSIS, definiując stałe połączenie płaskiego pliku o stałej długości pliku, czy istnieje sposób programowego zdefiniowania kolumn?
- 23. Czy istnieje ostateczny przewodnik do programowego tworzenia Exchange Mailboxes zdalnie?
- 24. Najlepszy sposób na przechowywanie informacji o podatku obrotowym
- 25. Czy istnieje sposób na uzyskanie zlokalizowanych nazw popularnych przycisków dialogowych?
- 26. Kwerendowanie dla NaN i innych nazw w Pandach
- 27. Czy istnieje sposób, aby ostrzec mnie o globalnych splinach dotyczących przestrzeni nazw?
- 28. Czy istnieje sposób na nadanie konkretnych nazw pozycjom Tuple?
- 29. OpenCL FFT na sprzęcie Nvidia i AMD?
- 30. zatwierdzanie tylko informacji o fuzji svn
Dzięki Chico. Przeszedłem przez SetupDi Api. Choć wydają się lepsze niż WMI, przez większość czasu są nadal niewiarygodne. To zaskakujące, jak trudno jest znaleźć przyzwoity przykład tego rodzaju rzeczy. Jeśli znajdę niezawodny sposób, opublikuję go na github :) – ivymike
@ivymike ok, nie miałem szczęścia z informacją RAM, NIE BYŁO NIEZAWODNEGO ŹRÓDŁA do wyciągania informacji z chipów SPD. Udało mi się zbudować prosty sterownik umożliwiający SMBUS dla określonego mostka południowego Intel (ICH) zbudowanego na mojej starej płycie głównej. Włącz SMBUS jest pierwszym krokiem do wyodrębnienia informacji z tego układu, znalazłem wskazówki na temat pakietu lm-sensors dla linuxa, który ma moduł do komunikacji SMBUS i skrypt perlowy do interpretowania danych SPD. W każdym razie, zrobiłem to tak jak dowód koncepcji, działało na podstawie arkusza danych mojej konkretnej wersji ICH, która miała ... –
@ivymike ... konkretne adresy miejsca konfiguracji PCI. Specyfikacja sprzętu zmienia się nawet z wersji na wersję dla tego samego dostawcy. Potrzebowałbym wsparcia dla listy dostawców. To właśnie robi CPUID API, a także, co robi pakiet lm-sensors. Jedynym wiarygodnym źródłem byłby ten rodzaj masywnego sprzętu wspierającego przedsięwzięcie. –