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

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

Разработчик

Ссылка класса IOUSBInterfaceInterface182

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

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

IOUSBInterfaceInterface182

Объект Вы используете для доступа к интерфейсу USB-устройства от пространства пользователя, возвращенного версией 1.8.2 IOUSBFamily и выше.

Функции, перечисленные здесь, включают все функции, определяемые для IOUSBInterfaceInterface и некоторых новых функций, которые доступны на версии 10.0.4 OS X и позже.

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


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

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


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

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


Не применимый не применимый
  • Отправляет асинхронный запрос USB на канале управления.

    Объявление

    C++

    IOReturn ( *ControlRequestAsyncTO)( void *self, UInt8 pipeRef, IOUSBDevRequestTO *req, IOAsyncCallback1 callback, void *refCon);

    Параметры

    self

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

    pipeRef

    Индекс управления передает по каналу для использования. Используйте нуль для канала управления по умолчанию на устройстве.

    req

    Указатель на IOUSBDevRequestTO, содержащий запрос.

    callback

    Метод IOAsyncCallback1. Сообщение, адресуемое этому обратному вызову, добавлено к Асинхронному порту после завершения.

    refCon

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

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

    Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService или kIOReturnNotOpen, если интерфейс не открыт для эксклюзивного доступа.

    Обсуждение

    Структура IOUSBDevRequestTO позволяет клиенту указывать значения тайм-аута для этого запроса. Используйте pipeRef=0 для канала управления устройствами по умолчанию. Если запрос является стандартным запросом, который изменит состояние устройства, устройство должно быть открыто, что означает, что необходимо использовать IOUSBDeviceInterface для этой команды.

  • Отправляет запрос USB на канале управления.

    Объявление

    C++

    IOReturn ( *ControlRequestTO)( void *self, UInt8 pipeRef, IOUSBDevRequestTO *req);

    Параметры

    self

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

    pipeRef

    Индекс управления передает по каналу для использования. Используйте нуль для канала управления по умолчанию на устройстве.

    req

    Указатель на IOUSBDevRequestTO, содержащий запрос.

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

    Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService, или kIOReturnAborted, если поток прерван перед вызовом, завершаются, kIOReturnNotOpen, если интерфейс не открыт для эксклюзивного доступа.

    Обсуждение

    Структура IOUSBDevRequestTO позволяет клиенту указывать значения тайм-аута для этого запроса. Если запрос является стандартным запросом, который изменит состояние устройства, устройство должно быть открыто, что означает, что необходимо использовать IOUSBDeviceInterface для этой команды.

  • Выполняет асинхронное чтение на BULK канал IN, с указанными значениями тайм-аута.

    Объявление

    C++

    IOReturn ( *ReadPipeAsyncTO)( void *self, UInt8 pipeRef, void *buf, UInt32 size, UInt32 noDataTimeout, UInt32 completionTimeout, IOAsyncCallback1 callback, void *refcon);

    Параметры

    self

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

    pipeRef

    Индекс для желаемого канала (1 - GetNumEndpoints).

    buf

    Буфер для содержания данных.

    size

    На размер буфера указывает buf.

    noDataTimeout

    Указывает временную стоимость в миллисекундах. Как только запрос ставится в очередь на шине, если никакие данные не будут переданы в этом количестве времени, то запрос будет прерван и возвращен.

    completionTimeout

    Указывает временную стоимость в миллисекундах. Как только запрос ставится в очередь на шине, если весь запрос не будет завершен в этом количестве времени, то запрос будет прерван и возвращен.

    callback

    Метод IOAsyncCallback1. Сообщение, адресуемое этому обратному вызову, добавлено к Асинхронному порту после завершения.

    refcon

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

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

    Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService или kIOReturnNotOpen, если интерфейс не открыт для эксклюзивного доступа. Возвраты kIOReturnBadArgument, если значения тайм-аута указаны для канала прерывания. Если ошибка возвращается, параметр размера не обновляется, и буфер НЕ будет содержать допустимых данных.

    Обсуждение

    Интерфейс должен быть открыт для канала для существования.

    Если тайм-аут указан, и запрос испытывает таймаут, драйвер, возможно, должен ресинхронизировать переключатель данных. Посмотрите ClearPipeStall или ClearPipeStallBothEnds.

    Тайм-ауты не применяются к каналам прерывания, таким образом, необходимо использовать ReadPipeAsync API для выполнения асинхронного чтения от канала прерывания.

  • Выполняет чтение на BULK канал IN, указывая значения тайм-аута.

    Объявление

    C++

    IOReturn ( *ReadPipeTO)( void *self, UInt8 pipeRef, void *buf, UInt32 *size, UInt32 noDataTimeout, UInt32 completionTimeout);

    Параметры

    self

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

    pipeRef

    Индекс для желаемого канала (1 - GetNumEndpoints).

    buf

    Буфер для содержания данных.

    size

    На указатель на размер буфера указывает buf.

    noDataTimeout

    Указывает временную стоимость в миллисекундах. Как только запрос ставится в очередь на шине, если никакие данные не будут переданы в этом количестве времени, то запрос будет прерван и возвращен.

    completionTimeout

    Указывает временную стоимость в миллисекундах. Как только запрос ставится в очередь на шине, если весь запрос не будет завершен в этом количестве времени, то запрос будет прерван и возвращен.

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

    Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService, kIOReturnAborted, если поток прерван перед вызовом, завершаются, или kIOReturnNotOpen, если интерфейс не открыт для эксклюзивного доступа. Возвраты kIOReturnBadArgument, если значения тайм-аута указаны для канала прерывания. Если ошибка возвращается, параметр размера не обновляется, и буфер НЕ будет содержать допустимых данных.

    Обсуждение

    Интерфейс должен быть открыт для канала для существования.

    Если тайм-аут указан, и запрос испытывает таймаут, драйвер, возможно, должен ресинхронизировать переключатель данных. Посмотрите ClearPipeStall или ClearPipeStallBothEnds.

    Тайм-ауты не применяются к каналам прерывания, таким образом, необходимо использовать ReadPipe API для выполнения чтения от канала прерывания.

  • Возвращает индекс строк в интерфейсном дескрипторе.

    Объявление

    C++

    IOReturn ( *USBInterfaceGetStringIndex)( void *self, UInt8 *si);

    Параметры

    self

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

    si

    Указатель на UInt8 для содержания индекса строк.

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

    Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService.

    Обсуждение

    Интерфейс не должен быть открыт для использования этой функции.

  • Выполняет асинхронную запись на BULK канал OUT, с указанными значениями тайм-аута.

    Объявление

    C++

    IOReturn ( *WritePipeAsyncTO)( void *self, UInt8 pipeRef, void *buf, UInt32 size, UInt32 noDataTimeout, UInt32 completionTimeout, IOAsyncCallback1 callback, void *refcon);

    Параметры

    self

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

    pipeRef

    Индекс для желаемого канала (1 - GetNumEndpoints).

    buf

    Буфер для содержания данных.

    size

    На размер буфера указывает buf.

    noDataTimeout

    Указывает временную стоимость в миллисекундах. Как только запрос ставится в очередь на шине, если никакие данные не будут переданы в этом количестве времени, то запрос будет прерван и возвращен.

    completionTimeout

    Указывает временную стоимость в миллисекундах. Как только запрос ставится в очередь на шине, если весь запрос не будет завершен в этом количестве времени, то запрос будет прерван и возвращен.

    callback

    Метод IOAsyncCallback1. Сообщение, адресуемое этому обратному вызову, добавлено к Асинхронному порту после завершения.

    refcon

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

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

    Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService или kIOReturnNotOpen, если интерфейс не открыт для эксклюзивного доступа.

    Обсуждение

    Интерфейс должен быть открыт для канала для существования.

    Если тайм-аут указан, и запрос испытывает таймаут, драйвер, возможно, должен ресинхронизировать переключатель данных. Посмотрите ClearPipeStall или ClearPipeStallBothEnds.

  • Выполняет асинхронную запись на BULK канал OUT, с указанными значениями тайм-аута.

    Объявление

    C++

    IOReturn ( *WritePipeTO)( void *self, UInt8 pipeRef, void *buf, UInt32 size, UInt32 noDataTimeout, UInt32 completionTimeout);

    Параметры

    self

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

    pipeRef

    Индекс для желаемого канала (1 - GetNumEndpoints).

    buf

    Буфер для содержания данных.

    size

    На размер буфера указывает buf.

    noDataTimeout

    Указывает временную стоимость в миллисекундах. Как только запрос ставится в очередь на шине, если никакие данные не будут переданы в этом количестве времени, то запрос будет прерван и возвращен.

    completionTimeout

    Указывает временную стоимость в миллисекундах. Как только запрос ставится в очередь на шине, если весь запрос не будет завершен в этом количестве времени, то запрос будет прерван и возвращен.

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

    Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService, kIOReturnAborted, если поток прерван перед вызовом, завершаются, или kIOReturnNotOpen, если интерфейс не открыт для эксклюзивного доступа.

    Обсуждение

    Интерфейс должен быть открыт для канала для существования.

    Если тайм-аут указан, и запрос испытывает таймаут, драйвер, возможно, должен ресинхронизировать переключатель данных. Посмотрите ClearPipeStall или ClearPipeStallBothEnds.