IOATACommand
Суперкласс структуры команды, создаваемый и освобожденный только объектами IOATADevice, заполненными драйверами дискового устройства с параметрами команды тогда, подчинился для работы их провайдеру IOATADevice для выполнения.
IOATACommand является виртуальным классом, конкретный подкласс содержит методы и поля, необходимые IOATAControllers. Подклассы могут быть определенными для определенного оборудования контроллеров. Драйверы дискового устройства будут только иметь видимость к этому интерфейсу и могут не разделить этот объект на подклассы. Драйверы дискового устройства должны вместо этого использовать недействительное* refcon поле, которого не коснутся контроллеры
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый
Objective C
@import Kernel;
Доступность
Доступный в OS X v10.0 и позже.
-
Байт рассчитывает на конечный результат, настолько лучше всего, как может быть определен контроллером. Может быть нуль, но частичная передача, возможно, произошла на ошибке в некоторых случаях.
Объявление
C++
virtual IOByteCount getActualTransfer (void); -
IOMemoryDescriptor используется в этой транзакции.
Объявление
C++
virtual IOMemoryDescriptor* getBuffer (void); -
если IOATAController все еще контролирует команду, возвращает true.
Объявление
C++
virtual bool getCommandInUse(void); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual UInt8 getCylHi (void); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual UInt8 getCylLo (void); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual UInt8 getDevice_Head (void); -
Если бит ошибки был установлен в регистре состояния, значение ошибочного регистра возвращается в конце команды.
Объявление
C++
virtual UInt8 getEndErrorReg(void); -
значение регистра состояния на конце команды.
Объявление
C++
virtual UInt8 getEndStatusReg (void); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual UInt8 getErrorReg (void); -
Значение IOReturn результата этой команды. Ошибки семьи ATA определяются в IOATATypes.h
Объявление
C++
virtual IOReturn getResult (void); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual UInt8 getSectorCount (void); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual UInt8 getSectorNumber (void); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual UInt8 getStatus (void); -
установите IIOMemoryDescriptor для этой транзакции.
Объявление
C++
virtual void setBuffer ( IOMemoryDescriptor *inDesc); -
установите счет байта для этой транзакции. Должен согласиться с командой устройства и дескриптором памяти в использовании.
Объявление
C++
virtual void setByteCount ( IOByteCountnumBytes); -
установите указатель функции для вызова, когда завершится эта команда.
Объявление
C++
virtual void setCallbackPtr ( IOATACompletionFunction *inCompletion); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual void setCommand ( UInt8in); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual void setCylHi( UInt8in); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual void setCylLo ( UInt8in); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual void setDevice_Head( UInt8in); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual void setFeatures( UInt8in); -
установите флаги для этой команды, как определено в IOATATypes.
Объявление
C++
virtual void setFlags( UInt32inFlags); -
удобный метод, устанавливающий регистры taskfile в 28-разрядный адрес LBA с выбранным модулем и набор битов LBA. возврат допускает ошибку, если параметрический усилитель из диапазона, возвратите kIOSuccess (kATANoErr) = 0 по возврату в случае успеха
Объявление
C++
virtual IOReturn setLBA28( UInt32lba, ataUnitIDinUnit); -
код операции команды, как определено в IOATATypes.
Объявление
C++
virtual void setOpcode( ataOpcodeinCode); -
Пакет команды ATAPI макс. размер составляет 16 байтов. Делает глубокую копию данных.
Объявление
C++
virtual IOReturn setPacketCommand( UInt16packetSizeBytes, UInt8 *command); -
используемый для установки смещения в дескриптор памяти для этой передачи.
Объявление
C++
virtual void setPosition ( IOByteCountfromPosition); -
используемый при доступе к регистрам или чтении регистров на ошибочном результате. Маска определяется в IOATATypes.h
Объявление
C++
virtual void setRegMask( ataRegMaskmask); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual void setSectorCount( UInt8in); -
Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA
Объявление
C++
virtual void setSectorNumber( UInt8in); -
сколько времени позволить этой команде завершаться, в миллисекундах, когда-то выпущенных к аппаратным средствам. если период времени истечет, то эта команда возвратится с ошибкой из-за тайм-аута.
Объявление
C++
virtual void setTimeoutMS( UInt32inMs); -
установите размер передачи между прошедшими прерываниями. необходимый при выполнении Многократного Чтения-записи PIO, и т.д. таким образом, контроллер знает, когда ожидать прерывание во время передачи данных мультисектора.
Объявление
C++
virtual void setTransferChunkSize( IOByteCount chunk =kATADefaultSectorSize); -
определите номер модуля для этой команды.
Объявление
C++
virtual void setUnit( ataUnitIDinUnit); -
набор для очищения состояния MUST вызывает до повторного использования этого объекта
Объявление
C++
virtual void zeroCommand(void);
-
Объявление
C++
struct ExpansionData { IOExtendedLBA *extLBA; };Обсуждение
Эта структура будет использоваться для расширения capablilties IOWorkLoop в будущем.
-
Зарезервированный для будущего использования. (Только внутреннее использование)
Объявление
C++
ExpansionData *fExpansionData; -
для использования дисковыми драйверами, клиентами IOATADevice только. IOATADevice и IOATAControllers не должны использовать это поле любым способом.
для использования дисковыми драйверами, клиентами IOATADevice только. IOATADevice и IOATAControllers не должны использовать это поле любым способом.
Объявление
C++
void* refCon2; -
для использования дисковыми драйверами, клиентами IOATADevice только. IOATADevice и IOATAControllers не должны использовать это поле любым способом.
для использования дисковыми драйверами, клиентами IOATADevice только. IOATADevice и IOATAControllers не должны использовать это поле любым способом.
Объявление
C++
void* refCon; -
Зарезервированный для будущего использования. (Только внутреннее использование)
Объявление
C++
ExpansionData *fExpansionData;
