Thema: Delphi SMART-Werte lesen

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#31

Re: SMART-Werte lesen

  Alt 12. Jul 2006, 12:45
\\.\ScsiX hab ich auf irgend'ner Webseite mal gesehn ... und wie gesagt, k.A. ob's stimmt.
\\.\CdromX läuft bei mir aber ganz gut ^^ (siehe Anhang)

Das mit dem "S-ATA Controller im P-ATA Modus" ... hmmm, also ich hab da nichts gemacht, das läuft schon die ganze Zeit so? (GA-K8NSC-939 - BIOS Version F8)


Zitat:
Funktioniert der Code denn mit S-ATA Platten? Ich meine mal gelesen zu haben, dass das nicht geht.
Also, bei mir wird nur die S-ATA-Platte erkannt.
Die Andere (4K040H2 ... beides von Maxtor) kennt vermutlich kein SMART ... jedenfalls meint das BIOS? (kurz nach'm Start), dat S.M.A.R.T für dieses nicht aktiviert ist.

Code:
SMART interface opened...
DFP_GET_VERSION returned:
    bVersion       = 1
    bRevision      = 1
    fCapabilities  = 0x00000007
    bReserved      = 0x0
    bIDEDeviceMap  = 0x4
SMART enabled on drive: 2
     cbBytesReturned: 16
Drive 2 is an IDE Hard drive that supports SMART
    #Cylinders: 16383, #Heads: 16, #Sectors per Track: 63
     IDE TASK FILE REGISTERS:
          bFeaturesReg    = 0x0
          bSectorCountReg = 0x1
          bSectorNumberReg = 0x1
          bCylLowReg      = 0x0
          bCylHighReg     = 0x0
          bDriveHeadReg   = 0xA0
          Status          = 0xEC
     Model number: Maxtor 6V250F0                         
     Firmware rev: VA11163
     Serial number: V594J4NG          
   cbBytesReturned: 528
Data for Drive Number 2
Attribute Structure Revision         Threshold Structure Revision
             32                                      32
   -Attribute Name-      -Attribute Value-     -Threshold Value-
03 Spin Up Time                188                    63
04 Start/Stop Count            253                    0
05 Reallocated Sector Count    253                    63
07 Seek Error Rate             253                    0
08 Seek Time Performance       251                    187
09 Power On Hours Count        253                    0
0A Spin Retry Count            253                    157
0B Calibration Retry Count     253                    223
0C Power Cycle Count           253                    0
BD (Unknown attribute)         100                    0
BE (Unknown attribute)         72                    0
C0 (Unknown attribute)         253                    0
C1 (Unknown attribute)         253                    0
C2 (Unknown attribute)         47                    0
C3 (Unknown attribute)         253                    0
C4 (Unknown attribute)         253                    0
C5 (Unknown attribute)         253                    0
C6 (Unknown attribute)         253                    0
C7 (Unknown attribute)         199                    0
C8 (Unknown attribute)         253                    0
C9 (Unknown attribute)         253                    0
CA (Unknown attribute)         253                    0
CB (Unknown attribute)         253                    180
CC (Unknown attribute)         253                    0
CD (Unknown attribute)         253                    0
CF (Unknown attribute)         253                    0
D0 (Unknown attribute)         253                    0
D2 (Unknown attribute)         253                    0
D3 (Unknown attribute)         253                    0
D4 (Unknown attribute)         253                    0
PS: (hatte jetzt mal Zeit etwas in die Codes zu gucken)
Delphi-Quellcode:
If ( AHandle <> INVALID_HANDLE_VALUE ) Then
  CloseHandle(AHandle);
Dat IF könnte man sich eigentlich sparren, denn CloseHandle prüft intern selbst nochmal und bei INVALID_HANDLE_VALUE macht es einfach nüschts ^^


So, jetzt hatte ich mal ein bissl "aufgerüstet" ... leider nur mit alten Platten ... bin mal bis PhysicalDrive5 gekommen, dann sind mit die Kabel ausgegangen (OK, ich hatte keine Lust nochmal in den Keller zu geh ... 6 Etage ohne Fahrstuhl)
Also mit dem MAX_IDE_DRIVES kommt ihr da schonmal nicht hin.
PS: dieses HDD-Dinges geht von 0 bis 9 ... verwendet aber kein S.M.A.R.T, sondern nur IOCTL_DISK_GET_DRIVE_GEOMETRY und IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS.

Ich hatte ja nur 0 bis 255 genommen, weil das BIOS die "Laufwerke" ja über'n Byte verwaltet ... ich glaub ab $80 war'n die Festplatten, also sollte wohl 0..127 ausreichend sein ... ich will ja eigentlich nicht die SMART-Werte, sodern die Daten der Platten und davon kann es halt mehr geben, also nur 4.


Im Anhang mal noch'n paar Werte der Maxtor-Platte ... dort oben is ja eindeutig zuviel von (Unknown attribute) zu lesen ._.
Die Werte stammen aus der WMI (Windows Management Instrumentation).
(ich weiß zwar noch nicht, aber ich glaub ich komm besser, wenn ich mir mal WMI genauer anseh, dat scheint ja ganz gute Ergebnisse zu liefern und außerdem is dort nich bei 4 Schluß ._.)
Miniaturansicht angehängter Grafiken
smart_195.jpeg   cdromx_170.jpeg  
$2B or not $2B
  Mit Zitat antworten Zitat