Page 1 sur 1

S.M.A.R.T.

Publié : dim. 27/nov./2005 16:05
par Droopy
SMART = Self-Monitoring Analysis and Reporting Technology

Cette librairie / Exemple peut analyser l'état SMART de vos disques.

Le code source est de Rings & Max (http://forums.purebasic.com/english/vie ... php?t=6599)
Je l'ai simplifié afin d'en faire une librairie / créé un exemple graphique

Vous pouvez télécharger la première version ici.

Publié : dim. 27/nov./2005 18:31
par gansta93
Marche pas sous mon Win 98... c normal ?

Publié : dim. 27/nov./2005 18:51
par Chris
Faut déjà que le disque dur supporte cette technologie

Publié : dim. 27/nov./2005 19:06
par Droopy
j'ai pas testé sous 98 :oops:

Publié : lun. 28/nov./2005 17:35
par gnozal
gansta93 a écrit :Marche pas sous mon Win 98... c normal ?
Oui, à cause de

Code : Tout sélectionner

hdh = CreateFile_("\\.\PhysicalDrive" + Str(Drive),#GENERIC_READ | #GENERIC_WRITE, #FILE_SHARE_READ | #FILE_SHARE_WRITE,0, #OPEN_EXISTING, 0, 0) 
Peut-être que çà fonctionne sous Win98 comme çà :

Code : Tout sélectionner

hdh = CreateFile_("\\.\SMARTVSD", #GENERIC_READ, #FILE_SHARE_READ, 0, #OPEN_EXISTING, 0, 0)
Par exemple :

Code : Tout sélectionner

    VersionInfo\dwOSVersionInfoSize = SizeOf(OSVERSIONINFO)
    Platform = GetVersionEx_(VersionInfo)
    If Platform
      If VersionInfo\dwPlatformId = #VER_PLATFORM_WIN32_WINDOWS ; Win9x/Me
        hdh = CreateFile_("\\.\SMARTVSD", #GENERIC_READ, #FILE_SHARE_READ, 0, #OPEN_EXISTING, 0, 0)
      Else ; NT kernel
        hdh = CreateFile_("\\.\PhysicalDrive" + Str(Drive), #GENERIC_READ | #GENERIC_WRITE, #FILE_SHARE_READ | #FILE_SHARE_WRITE, 0, #OPEN_EXISTING, 0, 0)
      EndIf
    EndIf
    If hdh <> #INVALID_HANDLE_VALUE
     etc...