IOATASMARTInterface
Самоконтроль, анализ и интерфейс технологии создания отчетов.
Посмотрите раздел 6.14 и разделите 8.54 из T13:1410D ATA/ATAPI-6 для подробных данных о Самоконтроле, Анализе и наборе функций Технологии создания отчетов.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый не применимый
-
Считывает 512-байтовые данные, предоставленные диском в ответ на ATA Команда устройства IDENTIFY.
Объявление
C++
IOReturn ( *GetATAIdentifyData ) (
void *interface,
void *buffer,
UInt32 inSize,
UInt32 *outSize );
Параметры
interface
Допустимый IOATASMARTInterface **.
buffer
Допустимый буфер.
inSize
Число байтов для размещения в буфере.
outSize
Число байтов поместило в буфере. Если информация не запрашивается вызывающей стороной, может быть NULL.
Возвращаемое значение
IOReturn заканчивается код. Если inSize больше, чем 512 или меньше, чем 1, kIOReturnBadArgument возвращается.
Обсуждение
Считывает 512-байтовые данные, предоставленные диском в ответ на ATA Команда устройства IDENTIFY. Посмотрите раздел 8.15 из ATA/ATAPI-6. Данные, помещенные в буфер, как гарантируют, будут в собственной форме порядка байтов по возврату. (т.е. это будет байт, подкачанный на платформах с обратным порядком байтов, таким образом, вызывающая сторона ничего не должна будет делать),
-
переключите Автосохранение SMART.
Объявление
C++
IOReturn ( *SMARTEnableDisableAutosave ) (
void *interface,
Boolean enable );
Параметры
enable
Передающая истина будет ENABLE Автосохранение SMART, ложь будет DISABLE Автосохранение SMART.
Возвращаемое значение
Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService, kIOReturnExclusiveAccess, если он уже открыт другим клиентом.
Обсуждение
Посмотрите раздел 8.54.2 из ATA/ATAPI-6.
-
переключите Операции SMART.
Объявление
C++
IOReturn ( *SMARTEnableDisableOperations ) (
void *interface,
Boolean enable );
Параметры
enable
Передающая истина будет операции ENABLE SMART, ложь будет операции DISABLE SMART.
Возвращаемое значение
Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService, kIOReturnExclusiveAccess, если он уже открыт другим клиентом.
Обсуждение
Посмотрите раздел 8.54.1 и 8.54.3 из ATA/ATAPI-6.
-
сразу инициируйте набор данных SMART.
Объявление
C++
IOReturn ( *SMARTExecuteOffLineImmediate ) (
void *interface,
Boolean extendedTest );
Параметры
extendedTest
передающая истина соберет «оффлайн» расширенный тест, ложный короткий тест.
Возвращаемое значение
Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService, kIOReturnExclusiveAccess, если он уже открыт другим клиентом.
Обсуждение
Посмотрите раздел 8.54.4 из ATA/ATAPI-6.
-
Получает 512-байтовое устройство структура данных SMART.
Объявление
C++
IOReturn ( *SMARTReadData ) (
void *interface,
ATASMARTData *data );
Обсуждение
Посмотрите раздел 8.54.5 из ATA/ATAPI-6. Если команда не может быть завершена, возвратит appropiate ошибку.
-
Получает 512-байтовое устройство пороговая структура данных SMART.
Объявление
C++
IOReturn ( *SMARTReadDataThresholds ) (
void *interface,
ATASMARTDataThresholds *dataThresholds );
Обсуждение
Получает 512-байтовое устройство пороговая структура данных SMART. Эта команда не определяется как часть ATA/ATAPI-6, но реализована большим разнообразием производителей. Если команда не может быть завершена, возвратит appropiate ошибку.
-
Читает 512-байтовый журнал в указанном logOffset в журнале.
Объявление
C++
IOReturn ( *SMARTReadLogAtAddress ) (
void *interface,
UInt32 logOffset,
void *buffer,
UInt32 size );
Обсуждение
Читает 512-байтовый журнал в указанном logOffset в журнале. Посмотрите раздел 8.54.6.4 из ATA/ATAPI-6.
-
Читает 512-байтовый каталог журнала.
Объявление
C++
IOReturn ( *SMARTReadLogDirectory ) (
void *interface,
ATASMARTLogDirectory *logData );
Обсуждение
Каталог журнала является каталогом всех возможных журналов SMART, доступных от диска.
-
посмотрите, обнаружило ли устройство превышенное условие порога.
Объявление
C++
IOReturn ( *SMARTReturnStatus ) (
void *interface,
Boolean *exceededCondition );
Параметры
exceededCondition
если exceededCondition является ненулевым, порог устройства превысил условие.
Возвращаемое значение
Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService, kIOReturnExclusiveAccess, если он уже открыт другим клиентом.
Обсуждение
Вызывающая сторона опросит эту функцию и если exceededCondition является ненулевым, и мы возвратили kIOReturnSuccess, порог устройства превысил условие. Это запросило бы вызывающую сторону вызывать ATASMARTReadData для получения большей информации. Посмотрите раздел 8.54.7 из ATA/ATAPI-6.
-
Протестируйте целостность устройства структура данных SMART.
Объявление
C++
IOReturn ( *SMARTValidateReadData ) (
void *interface,
const ATASMARTData *data );
Обсуждение
Контрольная сумма структуры данных является дополнением two суммы первых 511 байтов в структуре данных. Когда контрольная сумма будет корректна, сумма всех 512 байтов будет нулем. Посмотрите раздел 8.54.5.8.7 из ATA/ATAPI-6. Если контрольная сумма перестанет работать, возвратит ошибку.
-
Записи к 512-байтовому журналу в указанном logOffset в журнале.
Объявление
C++
IOReturn ( *SMARTWriteLogAtAddress ) (
void *interface,
UInt32 logOffset,
const void *buffer,
UInt32 size );
Обсуждение
Записи к 512-байтовому журналу в указанном logOffset в журнале. Посмотрите раздел 8.54.8.4 из ATA/ATAPI-6.