Hardware/HDD/ISmart.cs
author moel.mich
Sat, 11 Aug 2012 21:48:54 +0000
changeset 379 7af3aaeb42e9
parent 344 3145aadca3d2
child 381 ed5d5fc482ed
permissions -rw-r--r--
Added a few checks and delays to the driver loading code to increase the chance of loading the driver.
     1 /*
     2  
     3   This Source Code Form is subject to the terms of the Mozilla Public
     4   License, v. 2.0. If a copy of the MPL was not distributed with this
     5   file, You can obtain one at http://mozilla.org/MPL/2.0/.
     6  
     7   Copyright (C) 2011-2012 Michael Möller <mmoeller@openhardwaremonitor.org>
     8 	
     9 */
    10 
    11 using System;
    12 using System.Collections.Generic;
    13 
    14 
    15 namespace OpenHardwareMonitor.Hardware.HDD {
    16 
    17   public interface ISmart {
    18 
    19     IntPtr OpenDrive(int driveNumber);
    20 
    21     bool EnableSmart(IntPtr handle, int driveNumber);
    22 
    23     DriveAttributeValue[] ReadSmartData(IntPtr handle, int driveNumber);
    24 
    25     DriveThresholdValue[] ReadSmartThresholds(IntPtr handle, int driveNumber);
    26 
    27     bool ReadNameAndFirmwareRevision(IntPtr handle, int driveNumber,
    28       out string name, out string firmwareRevision); 
    29 
    30     void CloseHandle(IntPtr handle);
    31 
    32     IntPtr InvalidHandle { get; }
    33 
    34     string[] GetLogicalDrives(int driveIndex);
    35   }
    36 }