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

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

Разработчик

Ссылка класса IOUSBInterfaceInterface190

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

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

IOUSBInterfaceInterface190

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

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

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


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

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


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

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


Не применимый не применимый
  • Эквивалентный ClearPipeStall.

    Объявление

    C++

    IOReturn ( *ClearPipeStallBothEnds)( void *self, UInt8 pipeRef);

    Параметры

    self

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

    pipeRef

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

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

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

    Обсуждение

    Эта функция эквивалентна ClearPipeStall за исключением того, что это также пытается очистить останов и биты переключателя на конечной точке устройства для канала путем отправки ClearFeature (ENDPOINT_HALT) в канал управления по умолчанию в устройстве, указания конечной точки для канала, представленного pipeRef. Для большинства устройств это ресинхронизирует переключатель данных между этими двумя конечными точками, чтобы гарантировать, что нет никакой потери данных.

  • Возвращает сумму пропускной способности, доступной на шине для выделения к изохронным каналам. Если устройство будет высокоскоростным устройством, то это будет число байтов на микрокадр (125 µsecs). Если это будет устройство полной скорости, то это будет число байтов на кадр (1 мс)

    Объявление

    C++

    IOReturn ( *GetBandwidthAvailable)( void *self, UInt32 *bandwidth);

    Параметры

    self

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

    bandwidth

    Указатель на UInt32 для содержания суммы доступной пропускной способности (в байтах на кадр на 1 мс).

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

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

    Обсуждение

    Эта функция полезна для определения корректной установки AltInterface, а также для использования SetPipePolicy.

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

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

    Объявление

    C++

    IOReturn ( *GetEndpointProperties)( void *self, UInt8 alternateSetting, UInt8 endpointNumber, UInt8 direction, UInt8 *transferType, UInt16 *maxPacketSize, UInt8 *interval);

    Параметры

    self

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

    alternateSetting

    Указывает альтернативную установку в текущем интерфейсе.

    endpointNumber

    Указывает желаемое число конечной точки.

    direction

    Указывает желаемое направление.

    transferType

    Указатель на UInt8 для содержания типа передачи конечной точки (kUSBControl, kUSBIsoc, и т.д.).

    maxPacketSize

    Указатель на UInt16 для содержания maxPacketSize конечной точки.

    interval

    Указатель на UInt8 для содержания интервала опроса для конечных точек прерывания.

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

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

    Обсуждение

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

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

  • Изменяет сумму пропускной способности изохронного канала или канала прерывания или интервала опроса канала прерывания.

    Объявление

    C++

    IOReturn ( *SetPipePolicy)( void *self, UInt8 pipeRef, UInt16 maxPacketSize, UInt8 maxInterval);

    Параметры

    self

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

    pipeRef

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

    maxPacketSize

    Желаемый размер для изохронного канала или канала прерывания. Допустимые значения 0 через maxPacketSize, определенный в дескрипторе конечной точки.

    maxInterval

    желаемый интервал опроса в миллисекундах, максимум до 128 мс. Система может только опросить полномочия устройств 2 (1, 2, 4, 8, 16, 32, 64, или 128 мс). Значение 0 недопустимо.

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

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

    Обсуждение

    Канал может быть сделан меньшим или больше (до maxPacketSize, указанного в дескрипторе конечной точки). Когда интерфейс сначала открыт, все каналы создаются с их предоставленным дескриптор maxPacketSize. Для изохронного или каналов прерывания, если существует недостаточно пропускной способности на шине для выделения каналу, канал создается с зарезервированной пропускной способностью нуля. Любые попытки передать данные по каналу с нулевой пропускной способностью приведут к kIOReturnNoBandwidth ошибке. Каналу нужно сначала дать некоторую пропускную способность с помощью этого вызова. Это может также использоваться для возврата пропускной способности для изохронного или канала прерывания. Если драйвер знает, что устройство не будет отправлять maxPacketSize данные, это может использовать этот вызов для возврата той неиспользованной пропускной способности системе. Если канал прерывания хочет изменить интервал опроса, он может сделать так с этим вызовом.

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