S.M.A.R.T.

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

S.M.A.R.T.

Message 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.
Dernière modification par Droopy le mer. 30/nov./2005 23:04, modifié 1 fois.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Marche pas sous mon Win 98... c normal ?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Faut déjà que le disque dur supporte cette technologie
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

j'ai pas testé sous 98 :oops:
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message 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...
Répondre