Etat de veille d'un disque dur

Bon, comme dit dans le thread précédent, l’API SMART avance bon train.
Me manque cependant un truc assez crucial, si je veux faire les choses proprement.

Effectivement, les dialogues smart “réveillent” le disque-dur. Ce qui pose problème pour un service de diagnostique permanent, qui empeche alors la mise en veille d’un disque.

Pour résoudre ca, il suffirait de ne pas controler le disque s’il est en veille. Mais pour ca, il faudrait encore pouvoir avoir l’état du disque.
Si vous avez une ptite idée du comment (je suis allez voir du coté de WMI, rien trouvé :/).

linkage
(ou a chercher dans les fonctions autour referencees dans le menu… y en a bien une qui fait ce que tu veux)
Ce message a été édité par GloP le 07/08/2004
Ce message a été édité par GloP le 07/08/2004

Voui, voui, marchi.

(hop, le code qui va bien) [DllImport(“kernel32.dll”,EntryPoint=“GetDevicePowerState”)]
static extern bool GetDevicePowerState(IntPtr hDevice, ref bool pfOn);

public bool GetPowerState(){
 bool pfon=false;
 if(!GetDevicePowerState(driveHandle,ref pfon))
throw new IOException(Marshal.GetLastWin32Error().ToString());
 return pfon;
}