2011-12-31 17:31:04 +00:00
|
|
|
|
/*
|
|
|
|
|
|
2012-05-27 14:23:31 +00:00
|
|
|
|
This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
2011-12-31 17:31:04 +00:00
|
|
|
|
|
2012-05-27 14:23:31 +00:00
|
|
|
|
Copyright (C) 2011-2012 Michael Möller <mmoeller@openhardwaremonitor.org>
|
|
|
|
|
|
2011-12-31 17:31:04 +00:00
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace OpenHardwareMonitor.Hardware.HDD {
|
|
|
|
|
|
2012-10-01 17:10:09 +00:00
|
|
|
|
internal interface ISmart {
|
2011-12-31 17:31:04 +00:00
|
|
|
|
|
|
|
|
|
IntPtr OpenDrive(int driveNumber);
|
|
|
|
|
|
|
|
|
|
bool EnableSmart(IntPtr handle, int driveNumber);
|
|
|
|
|
|
|
|
|
|
DriveAttributeValue[] ReadSmartData(IntPtr handle, int driveNumber);
|
|
|
|
|
|
|
|
|
|
DriveThresholdValue[] ReadSmartThresholds(IntPtr handle, int driveNumber);
|
|
|
|
|
|
2012-01-01 10:14:42 +00:00
|
|
|
|
bool ReadNameAndFirmwareRevision(IntPtr handle, int driveNumber,
|
|
|
|
|
out string name, out string firmwareRevision);
|
2011-12-31 17:31:04 +00:00
|
|
|
|
|
|
|
|
|
void CloseHandle(IntPtr handle);
|
|
|
|
|
|
|
|
|
|
IntPtr InvalidHandle { get; }
|
2012-07-22 18:07:11 +00:00
|
|
|
|
|
|
|
|
|
string[] GetLogicalDrives(int driveIndex);
|
2011-12-31 17:31:04 +00:00
|
|
|
|
}
|
|
|
|
|
}
|