Проект:
Разработка примера получения S.M.A.R.T атрибутов NVMe SSD через DeviceIoControl (IOCTL_NVME_PASS_THROUGH)
Платформа:
.NET Framework 4.5 или более ранняя
Язык программирования:
Visual Basic.NET
Тип приложения:
Windows Forms Application
Среда выполнения:
ОС от Windows 8 и более современные.
Приложение выполняется от имени системной службы с полными локальными правами доступа
Требования к коду:
Прямой доступ к S.M.A.R.T атрибутам NVMe SSD
Использовать системную функцию DeviceIoControl с параметром IOCTL_NVME_PASS_THROUGH.
Не использовать сторонние библиотеки и компоненты.
Программа будет проверяться на NVME SSD диске Samsung 870 EVO.
Отображение и сбор данных:
Получение и отображение следующих S.M.A.R.T атрибутов:
Critical Warning (Критическое предупреждение)
Composite Temperature (Температура накопителя)
Available Spare (Оставшийся запас ячеек)
Available Spare Threshold (Порог оставшегося запаса ячеек)
Percentage Used (Процент износа накопителя)
Data Units Read (Прочитано данных)
Data Units Written (Записано данных)
Controller Busy Time (Время занятости контроллера)
Power Cycles (Количество включений питания)
Power On Hours (Время работы накопителя)
Unsafe Shutdowns (Аварийные выключения)
Media and Data Integrity Errors (Ошибки целостности данных)
Number of Error Information Log Entries (Количество записей журнала ошибок)
Формат вывода:
Данные должны отображаться в графическом интерфейсе (Windows Forms) в удобочитаемом формате.
Условия выполнения:
Срок выполнения не более 2 недель.
Оплата: 60 000 рублей после успешного тестирования на SSD Samsung 870 EVO.
Безопасная сделка.
Результат:
Исходный код с комментариями, готовый к компиляции и запуску.
Дополнительные требования:
Код должен быть хорошо структурирован и прокомментирован.