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

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

Разработчик

Ссылка класса SCSITaskInterface

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

На этой странице

SCSITaskInterface

Основной интерфейс для SCSITask.

После рандеву с Устройством SCSITask в IORegistry можно создать экземпляр этого интерфейса с помощью метода CreateSCSITask в SCSITaskDeviceInterface. Как только у Вас есть этот интерфейс или один из его подклассов, можно управлять SCSITasks для отправки к устройству.

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Не применимый не применимый
  • Метод для прерывания SCSITask.

    Объявление

    C++

    IOReturn ( *AbortTask ) ( void *task );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    Возвращаемое значение

    Возвраты kIOReturnSuccess, kIOReturnUnsupported или kIOReturnError.

    Обсуждение

    Этот метод может использоваться для прерывания уже происходящего SCSITask.

  • Метод для выполнения SCSITask асинхронно.

    Объявление

    C++

    IOReturn ( *ExecuteTaskAsync ) ( void *task );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    Возвращаемое значение

    Возвращает допустимый код IOReturn, такой как kIOReturnSuccess, kIOReturnError, kIOReturnVMError, kIOReturnCannotWire, и т.д. Если клиент не вызвал AddCallbackDispatcherToRunLoop на SCSITaskDeviceInterface, это возвратит kIOReturnNotPermitted.Примечание: IOReturn определяется как kern_return_t и как таковой, можно получить ошибки назад, не подпадающие под ошибочный домен подсистемы IOKit (sys_iokit) определенный в IOReturn.h.

    Обсуждение

    Этот метод может использоваться для выполнения SCSITask асинхронно.

  • Метод для выполнения SCSITask синхронно.

    Объявление

    C++

    IOReturn ( *ExecuteTaskSync ) ( void *task, SCSI_Sense_Data *senseDataBuffer, SCSITaskStatus *outStatus, UInt64 *realizedTransferCount );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    senseDataBuffer

    Указатель на буфер для данных REQUEST_SENSE. Если вызывающая сторона не хочет возвращать данные чувственного опыта, может быть NULL. Если вызывающая сторона ранее вызвала SetAutoSenseDataBuffer (), этот параметр проигнорирован.

    outStatus

    Указатель на SCSITaskStatus. Если вызывающая сторона не хочет возвращать состояние задачи, может быть NULL.

    realizedTransferCount

    Указатель на UInt64, отражающийся, сколько данных было фактически передано. Может быть NULL, если вызывающая сторона не хочет знать, сколько байтов было передано.

    Возвращаемое значение

    Возвращает допустимый код IOReturn, такой как kIOReturnSuccess, kIOReturnError, kIOReturnVMError, kIOReturnCannotWire, и т.д. ПРИМЕЧАНИЕ: IOReturn определяется как kern_return_t и как таковой, можно получить ошибки назад, не подпадающие под ошибочный домен подсистемы IOKit (sys_iokit) определенный в IOReturn.h.

    Обсуждение

    Этот метод может использоваться для выполнения SCSITask синхронно.

  • Метод для получения распознавать автоматически данных от SCSITask.

    Объявление

    C++

    IOReturn ( *GetAutoSenseData ) ( void *task, SCSI_Sense_Data *senseDataBuffer );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    senseDataBuffer

    Указатель на буфер размер структуры SCSI_Sense_Data. Если вызывающая сторона ранее вызвала SetAutoSenseDataBuffer (), эта подпрограмма возвратит ошибку.

    Возвращаемое значение

    Возвраты kIOReturnSuccess, если данные чувственного опыта допустимо, иначе kIOReturnError.

    Обсуждение

    Этот метод может использоваться для получения распознавать автоматически данных от SCSITask.

  • Метод для получения SCSICommandDescriptorBlock задачи.

    Объявление

    C++

    IOReturn ( *GetCommandDescriptorBlock ) ( void *task, UInt8 *outCDB );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    outCDB

    Указатель на массив размер рассматриваемого SCSICommandDescriptorBlock. Клиенты должны вызвать GetCommandDescriptorBlockSize сначала, чтобы узнать, как большой массив должен быть передан в.

    Возвращаемое значение

    Возвраты kIOReturnSucces или kIOReturnError.

    Обсуждение

    Этот метод может использоваться для получения SCSICommandDescriptorBlock SCSITASK.

  • Метод для получения размера SCSICommandDescriptorBlock задачи.

    Объявление

    C++

    UInt8 ( *GetCommandDescriptorBlockSize ) ( void *task );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    Возвращаемое значение

    UInt8, который является размером SCSICommandDescriptorBlock. Допустимые значения равняются 6, 10, 12, и 16, которым определили перечисления в SCSITask.h

    Обсуждение

    Этот метод может использоваться для получения размера SCSICommandDescriptorBlock SCSITASK.

  • Метод для получения фактического количества передачи в байтах от SCSITask.

    Объявление

    C++

    UInt64 ( *GetRealizedDataTransferCount ) ( void *task );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    Возвращаемое значение

    Возвращает значение UInt64 переданных байтов.

    Обсуждение

    Этот метод может использоваться для получения фактического количества передачи в байтах от SCSITask.

  • Метод для получения SCSIServiceResponse от SCSITask.

    Объявление

    C++

    IOReturn ( *GetSCSIServiceResponse ) ( void *task, SCSIServiceResponse *outServiceResponse );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    outServiceResponse

    Указатель на SCSIServiceResponse.

    Возвращаемое значение

    Возвраты kIOReturnSuccess или kIOReturnError.

    Обсуждение

    Этот метод может использоваться для получения SCSIServiceResponse от SCSITask.

  • Метод для получения атрибута задачи.

    Объявление

    C++

    IOReturn ( *GetTaskAttribute ) ( void *task, SCSITaskAttribute *outAttribute );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    outAttribute

    Указатель на значение атрибута сохранен в SCSITask.

    Возвращаемое значение

    Возвраты kIOReturnSuccess или kIOReturnError.

    Обсуждение

    Этот метод может использоваться для получения поля SCSITasks' SCSITaskAttribute. Допустимые значения определяются в SCSITask.h

  • Метод для получения SCSITaskState от SCSITask.

    Объявление

    C++

    IOReturn ( *GetTaskState ) ( void *task, SCSITaskState *outState );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    outState

    Указатель на SCSITaskState.

    Возвращаемое значение

    Возвраты kIOReturnSuccess или kIOReturnError.

    Обсуждение

    Этот метод может использоваться для получения SCSITaskState от SCSITask.

  • Метод для получения SCSITaskStatus от SCSITask.

    Объявление

    C++

    IOReturn ( *GetTaskStatus ) ( void *task, SCSITaskStatus *outStatus );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    outStatus

    Указатель на SCSITaskStatus.

    Возвращаемое значение

    Возвраты kIOReturnSuccess или kIOReturnError.

    Обсуждение

    Этот метод может использоваться для получения SCSITaskStatus от SCSITask.

  • Метод для получения продолжительности тайм-аута для SCSITask.

    Объявление

    C++

    UInt32 ( *GetTimeoutDuration ) ( void *task );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    Возвращаемое значение

    Возвращает значение между нулем и ULONG_MAX.

    Обсуждение

    Этот метод может использоваться для получения продолжительности тайм-аута для SCSITask. Продолжительность тайм-аута считается в миллисекундах.

  • Метод, чтобы узнать, активна ли задача или нет.

    Объявление

    C++

    Boolean ( *IsTaskActive ) ( void *task );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    Возвращаемое значение

    Возвраты 0, если задача не является активной, ненулевой, если это активно.

    Обсуждение

    Метод, чтобы узнать, активна ли задача или нет. Если SCSITaskState не является kSCSITaskState_NEW, ни kSCSITaskState_ENDED, задачу считают «активной».

  • Метод для сброса SCSITask к значениям по умолчанию.

    Объявление

    C++

    IOReturn ( *ResetForNewTask ) ( void *task );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    Возвращаемое значение

    Возвраты kIOReturnSuccess, если сброшенный было успешно, иначе kIOReturnError.

    Обсуждение

    Этот метод может использоваться для сброса SCSITask к значениям по умолчанию.

  • Метод для установки распознавать автоматически данных для SCSITask.

    Объявление

    C++

    IOReturn ( *SetAutoSenseDataBuffer ) ( void *task, SCSI_Sense_Data *senseDataBuffer, UInt8 senseDataLength );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    senseDataBuffer

    Указатель на буфер. Если вызывающая сторона хочет ограничить размер, чтобы быть меньше, чем нормальные 18 байтов данных чувственного опыта, может быть быть NULL.

    senseDataLength

    Сумма данных чувственного опыта для получения. Нуль не является допустимым значением.

    Возвращаемое значение

    Возвраты kIOReturnSuccess, если буфер данных чувственного опыта был установлен, иначе kIOReturnError.

    Обсуждение

    Этот метод может использоваться для установки распознавать автоматически буфера данных для SCSITask.

  • Метод для установки SCSICommandDescriptorBlock задачи.

    Объявление

    C++

    IOReturn ( *SetCommandDescriptorBlock ) ( void *task, UInt8 *inCDB, UInt8 inSize );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    inCDB

    Указатель на массив значений, которые будут сохранены в SCSICommandDescriptorBlock SCSITASK.

    inSize

    Размер массива inCDB. Допустимые значения равняются 6, 10, 12, и 16, которым определили перечисления в SCSITask.h.

    Возвращаемое значение

    Возвраты kIOReturnSuccess или kIOReturnError.

    Обсуждение

    Этот метод может использоваться для установки SCSICommandDescriptorBlock SCSITASK.

  • Метод для установки рассеяния задачи - собирает записи списка.

    Объявление

    C++

    IOReturn ( *SetScatterGatherEntries ) ( void *task, SCSITaskSGElement *inScatterGatherList, UInt8 inScatterGatherEntries, UInt64 inTransferCount, UInt8 inTransferDirection );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    inScatterGatherList

    Указатель на массив SCSITaskSGElements.

    inScatterGatherEntries

    Размер массива inScatterGatherList.

    inTransferCount

    Сумма Общей данных для передачи. Продолжительность всех записей в рассеянии - заключает, что список должен, по крайней мере, составить в целом сумму в inTransferCount.

    inTransferDirection

    Направление передачи, как определено в SCSITask.h. Допустимые значения являются kSCSIDataTransfer_NoDataTransfer, kSCSIDataTransfer_FromTargetToInitiator, и kSCSIDataTransfer_FromInitiatorToTarget.

    Возвращаемое значение

    Возвраты kIOReturnSucces или kIOReturnError.

    Обсуждение

    Этот метод может использоваться для установки рассеяния SCSITASK - собирают записи списка. Рассеяние - заключает, что списки представлены как массив SCSITaskSGElements. Структура SCSITaskSGElement имеет два элемента, адрес буфера и длину буфера.

  • Метод для установки атрибута задачи.

    Объявление

    C++

    IOReturn ( *SetTaskAttribute ) ( void *task, SCSITaskAttribute inAttribute );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    inAttribute

    Новое значение атрибута, которое будет сохранено в SCSITask.

    Возвращаемое значение

    Возвраты kIOReturnSuccess или kIOReturnError.

    Обсуждение

    Этот метод может использоваться для установки поля SCSITask's SCSITaskAttribute. Допустимые значения определяются в SCSITask.h

  • Метод для установки асинхронной подпрограммы завершения для SCSITask.

    Объявление

    C++

    IOReturn ( *SetTaskCompletionCallback ) ( void *task, SCSITaskCallbackFunction callback, void *refCon );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    callback

    SCSITaskCallbackFunction, который вызовут после завершения SCSITask.

    refCon

    Значение, которое будет возвращено к вызывающей стороне после завершения подпрограммы. Это поле не используется SCSITaskInterface.

    Возвращаемое значение

    Возвраты kIOReturnSuccess, kIOReturnError, или kIOReturnNotPermitted, если клиент не вызвал AddCallbackDispatcherToRunLoop на SCSITaskDeviceInterface.

    Обсуждение

    Этот метод может использоваться для установки асинхронной подпрограммы завершения для SCSITask.

  • Метод для установки продолжительности тайм-аута для SCSITask.

    Объявление

    C++

    IOReturn ( *SetTimeoutDuration ) ( void *task, UInt32 inTimeoutDurationMS );

    Параметры

    task

    Указатель на экземпляр SCSITaskInterface.

    inTimeoutDurationMS

    UInt32, представляющий тайм-аут в миллисекундах.

    Возвращаемое значение

    Возвраты kIOReturnSucces или kIOReturnError.

    Обсуждение

    Этот метод может использоваться для установки продолжительности тайм-аута для SCSITask. Продолжительность тайм-аута считается в миллисекундах. Значение нуля эквивалентно для «Ожидания Навсегда», но на некоторых шинах, это не возможно, таким образом, используется ULONG_MAX.

Переменные экземпляра

  • Версия интерфейса

    Объявление

    C++

    UInt16 version;

  • Интерфейсная версия

    Объявление

    C++

    UInt16 revision;