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.
