Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка класса IOATACommand

Опции
Развертывание Target:

На этой странице
Язык:

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 ( IOByteCount numBytes);

  • установите указатель функции для вызова, когда завершится эта команда.

    Объявление

    C++

    virtual void setCallbackPtr ( IOATACompletionFunction *inCompletion);

  • Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA

    Объявление

    C++

    virtual void setCommand ( UInt8 in);

  • Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA

    Объявление

    C++

    virtual void setCylHi( UInt8 in);

  • Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA

    Объявление

    C++

    virtual void setCylLo ( UInt8 in);

  • Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA

    Объявление

    C++

    virtual void setDevice_Head( UInt8 in);

  • Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA

    Объявление

    C++

    virtual void setFeatures( UInt8 in);

  • установите флаги для этой команды, как определено в IOATATypes.

    Объявление

    C++

    virtual void setFlags( UInt32 inFlags);

  • удобный метод, устанавливающий регистры taskfile в 28-разрядный адрес LBA с выбранным модулем и набор битов LBA. возврат допускает ошибку, если параметрический усилитель из диапазона, возвратите kIOSuccess (kATANoErr) = 0 по возврату в случае успеха

    Объявление

    C++

    virtual IOReturn setLBA28( UInt32 lba, ataUnitID inUnit);

  • код операции команды, как определено в IOATATypes.

    Объявление

    C++

    virtual void setOpcode( ataOpcode inCode);

  • Пакет команды ATAPI макс. размер составляет 16 байтов. Делает глубокую копию данных.

    Объявление

    C++

    virtual IOReturn setPacketCommand( UInt16 packetSizeBytes, UInt8 *command);

  • используемый для установки смещения в дескриптор памяти для этой передачи.

    Объявление

    C++

    virtual void setPosition ( IOByteCount fromPosition);

  • используемый при доступе к регистрам или чтении регистров на ошибочном результате. Маска определяется в IOATATypes.h

    Объявление

    C++

    virtual void setRegMask( ataRegMask mask);

  • Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA

    Объявление

    C++

    virtual void setSectorCount( UInt8 in);

  • Доступ Taskfile. Регистры называют в соответствии с соглашениями Стандартов ATA

    Объявление

    C++

    virtual void setSectorNumber( UInt8 in);

  • сколько времени позволить этой команде завершаться, в миллисекундах, когда-то выпущенных к аппаратным средствам. если период времени истечет, то эта команда возвратится с ошибкой из-за тайм-аута.

    Объявление

    C++

    virtual void setTimeoutMS( UInt32 inMs);

  • установите размер передачи между прошедшими прерываниями. необходимый при выполнении Многократного Чтения-записи PIO, и т.д. таким образом, контроллер знает, когда ожидать прерывание во время передачи данных мультисектора.

    Объявление

    C++

    virtual void setTransferChunkSize( IOByteCount chunk = kATADefaultSectorSize);

  • определите номер модуля для этой команды.

    Объявление

    C++

    virtual void setUnit( ataUnitID inUnit);

  • набор для очищения состояния 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;