Thema: Delphi SMART-Werte lesen

Einzelnen Beitrag anzeigen

Daniel G
(Gast)

n/a Beiträge
 
#20

Re: SMART-Werte lesen

  Alt 10. Jul 2006, 22:44
Zitat von Muetze1:
PhysicalDrive0 ist vollkommen in Ordnung und liefert ein Handle für den primären und sekundären IDE Port. Deshalb auch die 4. Man kan durch gesetztes Bit 0..3 sehen, ob es ein Gerät gib. Dabei sieht die Zuordnung wie folgt aus:
Das bestreite ich auch nicht. Allerdings werden mir zweimal die selben Daten geliefert. Ich hab's mal getestet:

Beide IDE - Laufwerke hängen am selben Kabel. Das Master Laufwerk ist max. 1 Jahr alt, das Slave Laufwerk 10 Jahre (nur zu Testzwecken angehangen).

(Ich nutze mal die Code - Tags, damit man die beiden Dinge zusammenklappen kann. Anhängen wollte ich das jetzt nicht extra. )

Zuerst mit...


Delphi-Quellcode:
Result := CreateFile('\\.\PhysicalDrive0', GENERIC_READ Or GENERIC_WRITE,
                         FILE_SHARE_READ Or FILE_SHARE_WRITE, Nil, OPEN_EXISTING, 0, 0);
Code:
SMART interface opened...
DFP_GET_VERSION returned:
    bVersion       = 1
    bRevision      = 1
    fCapabilities  = 0x00000007
    bReserved      = 0x0
    bIDEDeviceMap  = 0x3
SMART enabled on drive: 0
     cbBytesReturned: 16
Drive 0 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: WDC WD800JB-00JJC0                     
     Firmware rev: 05.01C0
     Serial number:     WD-WCAM9654893:
   cbBytesReturned: 528
SMART enabled on drive: 1
     cbBytesReturned: 16
Drive 1 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   = 0xB0
          Status          = 0xEC
     Model number: WDC WD800JB-00JJC0                     
     Firmware rev: 05.01C0
     Serial number:     WD-WCAM9654893:
   cbBytesReturned: 528
Data for Drive Number 0
Attribute Structure Revision         Threshold Structure Revision
             16                                      16
   -Attribute Name-      -Attribute Value-     -Threshold Value-
01 Raw Read Error Rate         200                    51
03 Spin Up Time                174                    21
04 Start/Stop Count            99                    0
05 Reallocated Sector Count    200                    140
07 Seek Error Rate             200                    51
09 Power On Hours Count        97                    0
0A Spin Retry Count            100                    51
0B Calibration Retry Count     100                    51
0C Power Cycle Count           99                    0
C2 (Unknown attribute)         98                    0
C4 (Unknown attribute)         200                    0
C5 (Unknown attribute)         200                    0
C6 (Unknown attribute)         200                    0
C7 (Unknown attribute)         200                    0
C8 (Unknown attribute)         200                    51
Data for Drive Number 1
Attribute Structure Revision         Threshold Structure Revision
             16                                      16

   -Attribute Name-      -Attribute Value-     -Threshold Value-
01 Raw Read Error Rate         200                    51
03 Spin Up Time                174                    21
04 Start/Stop Count            99                    0
05 Reallocated Sector Count    200                    140
07 Seek Error Rate             200                    51
09 Power On Hours Count        97                    0
0A Spin Retry Count            100                    51
0B Calibration Retry Count     100                    51
0C Power Cycle Count           99                    0
C2 (Unknown attribute)         98                    0
C4 (Unknown attribute)         200                    0
C5 (Unknown attribute)         200                    0
C6 (Unknown attribute)         200                    0
C7 (Unknown attribute)         200                    0
C8 (Unknown attribute)         200                    51
...dann mit

Delphi-Quellcode:
Result := CreateFile('\\.\PhysicalDrive1', GENERIC_READ Or GENERIC_WRITE,
                         FILE_SHARE_READ Or FILE_SHARE_WRITE, Nil, OPEN_EXISTING, 0, 0);
Code:
SMART interface opened...
DFP_GET_VERSION returned:
    bVersion       = 1
    bRevision      = 1
    fCapabilities  = 0x00000007
    bReserved      = 0x0
    bIDEDeviceMap  = 0x3
SMART enabled on drive: 0
     cbBytesReturned: 16
Drive 0 is an IDE Hard drive that supports SMART
    #Cylinders: 2482, #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: ST31277A                              
     Firmware rev: 0.62   
     Serial number:            XA84142:
   cbBytesReturned: 528
SMART enabled on drive: 1
     cbBytesReturned: 16
Drive 1 is an IDE Hard drive that supports SMART
    #Cylinders: 2482, #Heads: 16, #Sectors per Track: 63
     IDE TASK FILE REGISTERS:
          bFeaturesReg    = 0x0
          bSectorCountReg = 0x1
          bSectorNumberReg = 0x1
          bCylLowReg      = 0x0
          bCylHighReg     = 0x0
          bDriveHeadReg   = 0xB0
          Status          = 0xEC
     Model number: ST31277A                              
     Firmware rev: 0.62   
     Serial number:            XA84142:
   cbBytesReturned: 528
Data for Drive Number 0
Attribute Structure Revision         Threshold Structure Revision
             5                                      5
   -Attribute Name-      -Attribute Value-     -Threshold Value-
01 Raw Read Error Rate         117                    0
03 Spin Up Time                96                    0
04 Start/Stop Count            99                    20
05 Reallocated Sector Count    100                    36
07 Seek Error Rate             39                    30
0A Spin Retry Count            100                    97
0C Power Cycle Count           100                    20
Data for Drive Number 1
Attribute Structure Revision         Threshold Structure Revision
             5                                      5

   -Attribute Name-      -Attribute Value-     -Threshold Value-
01 Raw Read Error Rate         117                    0
03 Spin Up Time                96                    0
04 Start/Stop Count            99                    20
05 Reallocated Sector Count    100                    36
07 Seek Error Rate             39                    30
0A Spin Retry Count            100                    97
0C Power Cycle Count           100                    20
@Muetze1: Verstehst du jetzt mein Problem?

//Edit:
Zitat:
Probier es aus, aber ich behaupte du wirst niemals ein gesetztes Bit finden bei einem \\.\PhysicalDriveX bei x > 0.
Dann hätte obiges ja gar nicht funktionieren dürfen, oder?
  Mit Zitat antworten Zitat