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

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

Разработчик

Ссылка класса IOUSBController

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

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

IOUSBController

Базовый класс для драйвера оборудования USB

Не много непосредственно полезных методов для писателей драйвера USB-устройства, IOUSBDevice, IOUSBInterface и IOUSBPipe обеспечивают более полезные абстракции. Объем этого класса взаимодействует через интерфейс между IOKit и низкоуровневым UIM, основывающимся на Макос9 UIM. Для реализования нового типа контроллера разделите на подклассы IOUSBController и impiment все «функции UIM». AppleUSBOHCI является примером этой реализации всех функций, необходимых для управления контроллером OHCI.

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


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

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


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

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


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

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • Объявление

    C++

    virtual IOReturn AbortPipe( USBDeviceAddressaddress, Endpoint *endpoint );

    Параметры

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    Обсуждение

    Аварийное прекращение работы незаконченный I/O к/от указанной конечной точке, вызывая их к вместе с кодом возврата kIOReturnAborted

  • Объявление

    C++

    virtual IOReturn AbortPipe( USBDeviceAddressaddress, Endpoint *endpoint );

    Параметры

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    Обсуждение

    Аварийное прекращение работы незаконченный I/O к/от указанной конечной точке, вызывая их к вместе с кодом возврата kIOReturnAborted

  • Объявление

    C++

    virtual IOReturn AcquireDeviceZero( void );

    Обсуждение

    Доберитесь нулевая блокировка устройства - вызывают это прежде, чем сбросить устройство, гарантировать, что существует только одно устройство с адресом 0

  • Объявление

    C++

    virtual IOReturn ClearPipeStall( USBDeviceAddressaddress, Endpoint *endpoint );

    Параметры

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    Обсуждение

    Очистите останов канала.

  • Объявление

    C++

    virtual IOReturn ClearPipeStall( USBDeviceAddressaddress, Endpoint *endpoint );

    Параметры

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    Обсуждение

    Очистите останов канала.

  • Функция UIM, функция набора корневого концентратора, Поскольку CLEAR_FEATURE управляют запросом.

    Объявление

    C++

    virtual IOReturn ClearRootHubFeature( UInt16wValue ) = 0;

    Параметры

    wValue

    Функция для очистки, когда был бы передан в wValue поле пакета SETUP.

  • Функция UIM, ясная функция корневого порта концентратора, Как управление CLEAR_FEATURE запрашивают к порту.

    Объявление

    C++

    virtual IOReturn ClearRootHubPortFeature( UInt16wValue, UInt16port ) = 0;

    Параметры

    wValue

    Функция для очистки, когда был бы передан в wValue поле пакета SETUP.

    port

    Порт для очистки функции

  • Функция UIM, Impliments GET_BUS_STATE управляют запросом, теперь устаревшим.

    Объявление

    C++

    virtual IOReturn GetRootHubPortState( UInt8 *state, UInt16 port ) = 0;

  • Объявление

    C++

    virtual IOReturn ClosePipe( USBDeviceAddressaddress, Endpoint *endpoint );

    Параметры

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    Обсуждение

    Закройте канал к указанной конечной точке устройства

  • Объявление

    C++

    virtual IOReturn ClosePipe( USBDeviceAddressaddress, Endpoint *endpoint );

    Параметры

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    Обсуждение

    Закройте канал к указанной конечной точке устройства

  • Объявление

    C++

    virtual IOReturn DeviceRequest( IOUSBDevRequest *request, IOUSBCompletion *completion, USBDeviceAddressaddress, UInt8epNum );

    Параметры

    request

    блок параметра для запроса управления

    completion

    когда запрос был выполнен, описывает действие для взятия

    address

    Адрес устройства на Шине USB

    epNum

    число конечной точки

    Обсуждение

    Выполните запрос управления к указанной конечной точке существует две версии этого метода, каждый использует простое недействительное * для указания на часть данных передачи, другого использования IOMemoryDescriptor для указания на данные.

  • Объявление

    C++

    virtual IOReturn DeviceRequest( IOUSBDevRequest *request, IOUSBCompletion *completion, USBDeviceAddressaddress, UInt8epNum );

    Параметры

    request

    блок параметра для запроса управления

    completion

    когда запрос был выполнен, описывает действие для взятия

    address

    Адрес устройства на Шине USB

    epNum

    число конечной точки

    Обсуждение

    Выполните запрос управления к указанной конечной точке существует две версии этого метода, каждый использует простое недействительное * для указания на часть данных передачи, другого использования IOMemoryDescriptor для указания на данные.

  • Объявление

    C++

    virtual IOReturn DeviceRequest( IOUSBDevRequest *request, IOUSBCompletion *completion, USBDeviceAddress address, UInt8 epNum, UInt32 noDataTimeout, UInt32 completionTimeout );

    Параметры

    request

    блок параметра для запроса управления

    completion

    когда запрос был выполнен, описывает действие для взятия

    address

    Адрес устройства на Шине USB

    epNum

    число конечной точки

    Обсуждение

    Выполните запрос управления к указанной конечной точке существует две версии этого метода, каждый использует простое недействительное * для указания на часть данных передачи, другого использования IOMemoryDescriptor для указания на данные.

  • Объявление

    C++

    virtual IOReturn DeviceRequest( IOUSBDevRequest *request, IOUSBCompletion *completion, USBDeviceAddress address, UInt8 epNum, UInt32 noDataTimeout, UInt32 completionTimeout );

    Параметры

    request

    блок параметра для запроса управления

    completion

    когда запрос был выполнен, описывает действие для взятия

    address

    Адрес устройства на Шине USB

    epNum

    число конечной точки

    Обсуждение

    Выполните запрос управления к указанной конечной точке существует две версии этого метода, каждый использует простое недействительное * для указания на часть данных передачи, другого использования IOMemoryDescriptor для указания на данные.

  • Объявление

    C++

    virtual UInt32 GetBandwidthAvailable( void ) = 0;

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

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

    Обсуждение

    Возвращает доступную пропускную способность (в байтах) на кадр или микрокадр для изохронных передач.

  • Объявление

    C++

    virtual UInt64 GetFrameNumber( void ) = 0;

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

    Число кадра.

    Обсуждение

    Возвращает полное текущее число кадра.

  • Объявление

    C++

    virtual UInt32 GetFrameNumber32( void ) = 0;

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

    lsb 32 бита числа кадра.

    Обсуждение

    Возвращает младшие значащие 32 бита числа кадра.

  • Функция UIM, retrun дескриптор конфигурации моделируемого корневого устройства концентратора, Поскольку GET_DESCRIPTOR управляют запросом на конфигурацию descrptor

    Объявление

    C++

    virtual IOReturn GetRootHubConfDescriptor( OSData *desc ) = 0;

    Параметры

    desc

    Структура дескриптора для возврата данных в

  • Функция UIM, возвратите дескриптор концентратора моделируемого корневого устройства концентратора Как запрос управления GET_DESCRIPTOR на концентратор descrptor

    Объявление

    C++

    virtual IOReturn GetRootHubDescriptor( IOUSBHubDescriptor *desc ) = 0;

    Параметры

    desc

    Структура дескриптора для возврата данных в

  • Функция UIM, возвратите дескриптор устройства моделируемого корневого устройства концентратора Как запрос управления GET_DESCRIPTOR на устройство descrptor

    Объявление

    C++

    virtual IOReturn GetRootHubDeviceDescriptor( IOUSBDeviceDescriptor *desc ) = 0;

    Параметры

    desc

    Структура дескриптора для возврата данных в

  • Функция UIM, Impliments GET_BUS_STATE управляют запросом, теперь устаревшим.

    Объявление

    C++

    virtual IOReturn GetRootHubPortState( UInt8 *state, UInt16 port ) = 0;

  • Функция UIM, получите состояние корневого порта концентратора. Как управление GET_STATUS запрашивают к порту.

    Объявление

    C++

    virtual IOReturn GetRootHubPortStatus( IOUSBHubPortStatus *status, UInt16port ) = 0;

    Параметры

    status

    Структура состояния для возврата

    port

    Порт для получения состояния для.

  • Функция UIM, получите состояние корневого концентратора. Как управление GET_STATUS запрашивают к устройству.

    Объявление

    C++

    virtual IOReturn GetRootHubStatus( IOUSBHubStatus *status ) = 0;

    Параметры

    status

    Структура состояния для возврата

  • Объявление

    C++

    virtual IOReturn IsocIO( IOMemoryDescriptor *buffer, UInt64frameStart, UInt32numFrames, IOUSBIsocFrame *frameList, USBDeviceAddressaddress, Endpoint *endpoint, IOUSBIsocCompletion *completion );

    Параметры

    buffer

    поместите для помещения переданных данных

    frameStart

    USB структурирует число кадра для запуска передачи

    numFrames

    Число кадров для передачи

    frameList

    Байты, чтобы передать и закончиться для каждого кадра

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был заполнен, описывает действие для взятия

    Обсуждение

    Читайте из или запишите в изохронную конечную точку

  • Объявление

    C++

    virtual IOReturn IsocIO( IOMemoryDescriptor *buffer, UInt64frameStart, UInt32numFrames, IOUSBIsocFrame *frameList, USBDeviceAddressaddress, Endpoint *endpoint, IOUSBIsocCompletion *completion );

    Параметры

    buffer

    поместите для помещения переданных данных

    frameStart

    USB структурирует число кадра для запуска передачи

    numFrames

    Число кадров для передачи

    frameList

    Байты, чтобы передать и закончиться для каждого кадра

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был заполнен, описывает действие для взятия

    Обсуждение

    Читайте из или запишите в изохронную конечную точку

  • Объявление

    C++

    virtual IOReturn IsocIO( IOMemoryDescriptor *buffer, UInt64frameStart, UInt32numFrames, IOUSBLowLatencyIsocFrame *frameList, USBDeviceAddressaddress, Endpoint *endpoint, IOUSBLowLatencyIsocCompletion *completion, UInt32updateFrequency );

    Параметры

    buffer

    поместите для помещения переданных данных

    frameStart

    USB структурирует число кадра для запуска передачи

    numFrames

    Число кадров для передачи

    frameList

    Байты, чтобы передать и закончиться для каждого кадра

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был заполнен, описывает действие для взятия

    updateFrequency

    описывает, как часто обновить framelist, как только передача завершилась (в мс)

    Обсуждение

    Читайте из или запишите в изохронную конечную точку

  • Объявление

    C++

    virtual IOReturn OpenPipe( USBDeviceAddressaddress, UInt8speed, Endpoint *endpoint );

    Параметры

    address

    Адрес устройства на Шине USB

    speed

    из устройства: kUSBHighSpeed или kUSBLowSpeed

    endpoint

    описание конечной точки для соединения с

    Обсуждение

    Откройте канал для указанной конечной точки устройства

  • Объявление

    C++

    virtual IOReturn OpenPipe( USBDeviceAddressaddress, UInt8speed, Endpoint *endpoint );

    Параметры

    address

    Адрес устройства на Шине USB

    speed

    из устройства: kUSBHighSpeed или kUSBLowSpeed

    endpoint

    описание конечной точки для соединения с

    Обсуждение

    Откройте канал для указанной конечной точки устройства

  • Объявление

    C++

    virtual IOReturn Read( IOMemoryDescriptor *buffer, USBDeviceAddressaddress, Endpoint *endpoint, IOUSBCompletion *completion, UInt32noDataTimeout, UInt32completionTimeout, IOByteCountreqCount );

    Параметры

    buffer

    поместите для помещения переданных данных

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был заполнен, описывает действие для взятия

    noDataTimeout

    число миллисекунд никакого перемещения данных перед запросом прерывается

    completionTimeout

    число milliseonds после команды находится на шине, в которой это должно завершиться

    reqCount

    число байтов, которые требуют на передачу (не должно быть больше, чем длина буфера),

    Обсуждение

    Читайте из прерывания или увеличьте объем конечной точки

  • Объявление

    C++

    virtual IOReturn Read( IOMemoryDescriptor *buffer, USBDeviceAddressaddress, Endpoint *endpoint, IOUSBCompletion *completion );

    Параметры

    buffer

    поместите для помещения переданных данных

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был заполнен, описывает действие для взятия

    Обсуждение

    Читайте из прерывания или увеличьте объем конечной точки

  • Объявление

    C++

    virtual IOReturn Read( IOMemoryDescriptor *buffer, USBDeviceAddressaddress, Endpoint *endpoint, IOUSBCompletion *completion );

    Параметры

    buffer

    поместите для помещения переданных данных

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был заполнен, описывает действие для взятия

    Обсуждение

    Читайте из прерывания или увеличьте объем конечной точки

  • Объявление

    C++

    virtual IOReturn Read( IOMemoryDescriptor *buffer, USBDeviceAddress address, Endpoint *endpoint, IOUSBCompletion *completion, UInt32 noDataTimeout, UInt32 completionTimeout );

    Параметры

    buffer

    поместите для помещения переданных данных

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был заполнен, описывает действие для взятия

    Обсуждение

    Читайте из прерывания или увеличьте объем конечной точки

  • Объявление

    C++

    virtual IOReturn Read( IOMemoryDescriptor *buffer, USBDeviceAddress address, Endpoint *endpoint, IOUSBCompletion *completion, UInt32 noDataTimeout, UInt32 completionTimeout );

    Параметры

    buffer

    поместите для помещения переданных данных

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был заполнен, описывает действие для взятия

    Обсуждение

    Читайте из прерывания или увеличьте объем конечной точки

  • Объявление

    C++

    virtual void ReleaseDeviceZero( void );

    Обсуждение

    Выпустите нулевую блокировку устройства - вызывают это для выпуска нулевой блокировки устройства, когда больше нет устройства в адресе 0

  • Объявление

    C++

    virtual IOReturn ResetPipe( USBDeviceAddressaddress, Endpoint *endpoint );

    Параметры

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    Обсуждение

    Аварийное прекращение работы незаконченный I/O и ясное остановленное состояние - этот метод является комбинацией abortPipe и clearPipeStall

  • Объявление

    C++

    virtual IOReturn ResetPipe( USBDeviceAddressaddress, Endpoint *endpoint );

    Параметры

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    Обсуждение

    Аварийное прекращение работы незаконченный I/O и ясное остановленное состояние - этот метод является комбинацией abortPipe и clearPipeStall

  • Функция UIM, набор адрес моделируемого корневого устройства концентратора, как SET_ADDRESS

    Объявление

    C++

    virtual IOReturn SetHubAddress( UInt16wValue ) = 0;

    Параметры

    wValue

    Новый адрес для корневого концентратора.

  • Функция UIM, дополнительная. Установите данные дескриптора концентратора. Поскольку SET_DESCRIPTOR управляют запросом на концентратор descrptor

    Объявление

    C++

    virtual IOReturn SetRootHubDescriptor( OSData *buffer ) = 0;

    Параметры

    buffer

    Данные дескриптора

  • Функция UIM, функция набора корневого концентратора, Поскольку SET_FEATURE управляют запросом.

    Объявление

    C++

    virtual IOReturn SetRootHubFeature( UInt16wValue ) = 0;

    Параметры

    wValue

    Функция для установки, когда был бы передан в wValue поле пакета SETUP.

  • Функция UIM, функция набора корневого порта концентратора, Как управление SET_FEATURE запрашивают к порту.

    Объявление

    C++

    virtual IOReturn SetRootHubPortFeature( UInt16wValue, UInt16port ) = 0;

    Параметры

    wValue

    Функция для установки, когда был бы передан в wValue поле пакета SETUP.

    port

    Порт для установки функции

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

    Объявление

    C++

    virtual IOReturn UIMAbortEndpoint( shortfunctionNumber, shortendpointNumber, shortdirection) = 0;

    Параметры

    functionNumber

    USB-устройство ID устройства для Прерывания

    endpointNumber

    Число конечной точки для Прерывания

    direction

    Указывает направление конечной точки для уникальности. kUSBIn или KUSBOut.

  • Функция UIM Ясный останов на указанной конечной точке, обнуленном переключателе данных, возвращает все транзакции, поставленные в очередь на нем.

    Объявление

    C++

    virtual IOReturn UIMClearEndpointStall( shortfunctionNumber, shortendpointNumber, shortdirection) = 0;

    Параметры

    functionNumber

    USB-устройство ID устройства для Очистки

    endpointNumber

    Число конечной точки для Очистки

    direction

    Указывает направление конечной точки для уникальности. kUSBIn или KUSBOut.

  • Функция UIM, создайте объемную конечную точку для контроллера.

    Объявление

    C++

    virtual IOReturn UIMCreateBulkEndpoint( UInt8functionNumber, UInt8endpointNumber, UInt8direction, UInt8speed, UInt8maxPacketSize) = 0;

    Параметры

    functionNumber

    USB-устройство ID устройства для этой конечной точки

    endpointNumber

    Число конечной точки для этой конечной точки

    direction

    Указывает направление для конечной точки. kUSBIn или KUSBOut.

    speed

    скорость устройства: kUSBDeviceSpeedLow или kUSBDeviceSpeedFull

    maxPacketSize

    Максимальный размер пакета этой конечной точки

  • Функция UIM, Сделайте передачу на объемной конечной точке. Этот метод заменяет метод, берущий многократные параметры.

    Объявление

    C++

    virtual IOReturn UIMCreateBulkTransfer( IOUSBCommand *command);

    Параметры

    command

    paramters для передачи.

  • Функция UIM, создайте конечную точку управления для контроллера.

    Объявление

    C++

    virtual IOReturn UIMCreateControlEndpoint( UInt8functionNumber, UInt8endpointNumber, UInt16maxPacketSize, UInt8speed) = 0;

    Параметры

    functionNumber

    USB-устройство ID устройства для этой конечной точки

    endpointNumber

    Число конечной точки для этой конечной точки

    maxPacketSize

    Максимальный размер пакета этой конечной точки

    speed

    скорость устройства: kUSBDeviceSpeedLow или kUSBDeviceSpeedFull

  • Функция UIM, Сделайте передачу на конечной точке управления. Этот метод заменяет метод, берущий недействительное * параметр.

    Объявление

    C++

    virtual IOReturn UIMCreateControlTransfer( shortfunctionNumber, shortendpointNumber, IOUSBCompletioncompletion, IOMemoryDescriptor *CBP, boolbufferRounding, UInt32bufferSize, shortdirection) = 0;

    Параметры

    functionNumber

    USB-устройство ID устройства для выполнения транзакции с

    endpointNumber

    Число конечной точки для транзакции

    completion

    Действие для выполнения, когда завершается I/O

    CBP

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

    bufferRounding

    Если это правда, короткие пакеты в порядке и не вызывают ошибку

    bufferSize

    Размер данных для передачи в фазе данных. (C

    direction

    Указывает направление и PID для транзакции. kUSBIn, KUSBOut (DATA PID) или kUSBSetup (SETUP PID).

  • Функция UIM, создайте конечную точку прерывания для контроллера.

    Объявление

    C++

    virtual IOReturn UIMCreateInterruptEndpoint( shortfunctionNumber, shortendpointNumber, UInt8direction, shortspeed, UInt16maxPacketSize, shortpollingRate) = 0;

    Параметры

    functionNumber

    USB-устройство ID устройства для этой конечной точки

    endpointNumber

    Число конечной точки для этой конечной точки

    direction

    Указывает направление для конечной точки. kUSBIn или KUSBOut.

    speed

    скорость устройства: kUSBDeviceSpeedLow или kUSBDeviceSpeedFull

    maxPacketSize

    Максимальный размер пакета этой конечной точки

    pollingRate

    Максимальный интервал опроса от дескриптора конечной точки.

  • Функция UIM, Сделайте передачу на конечной точке прерывания. Этот метод заменяет метод, берущий многократные параметры.

    Объявление

    C++

    virtual IOReturn UIMCreateInterruptTransfer( IOUSBCommand *command);

    Параметры

    command

    paramters для передачи.

  • Создайте Изохронную конечную точку в контроллере.

    Объявление

    C++

    virtual IOReturn UIMCreateIsochEndpoint( shortfunctionNumber, shortendpointNumber, UInt32maxPacketSize, UInt8direction) = 0;

    Параметры

    functionNumber

    USB-устройство ID устройства для этой конечной точки

    endpointNumber

    Число конечной точки для этой конечной точки

    maxPacketSize

    Максимальный размер пакета этой конечной точки

    direction

    Указывает направление для конечной точки. kUSBIn или KUSBOut.

  • Функция UIM, Сделайте передачу на конечной точке Isocchronous.

    Объявление

    C++

    virtual IOReturn UIMCreateIsochTransfer( IOUSBIsocCommand *command);

    Параметры

    command

    IOUSBIsocCommand возражает со всей необходимой информацией

  • Функция UIM, Сделайте передачу на конечной точке Isocchronous.

    Объявление

    C++

    virtual IOReturn UIMCreateIsochTransfer( shortfunctionNumber, shortendpointNumber, IOUSBIsocCompletioncompletion, UInt8direction, UInt64frameStart, IOMemoryDescriptor *pBuffer, UInt32frameCount, IOUSBIsocFrame *pFrames) = 0;

    Параметры

    functionNumber

    USB-устройство ID устройства для выполнения транзакции с

    endpointNumber

    Число конечной точки для транзакции

    completion

    Действие для выполнения, когда завершается I/O

    direction

    Указывает направление для передачи. kUSBIn или KUSBOut.

    frameStart

    Число кадра, в котором можно запустить транзакции

    pBuffer

    описывает буфер памяти.

    frameCount

    число кадров для выполнения в транзакциях

    pFrames

    Описывает транзакции в отдельных кадрах, дает размеры и reults для транзакций.

  • Функция UIM, Сделайте передачу на конечной точке Isocchronous.

    Объявление

    C++

    virtual IOReturn UIMCreateIsochTransfer( shortfunctionNumber, shortendpointNumber, IOUSBIsocCompletioncompletion, UInt8direction, UInt64frameStart, IOMemoryDescriptor *pBuffer, UInt32frameCount, IOUSBLowLatencyIsocFrame *pFrames, UInt32updateFrequency);

    Параметры

    functionNumber

    USB-устройство ID устройства для выполнения транзакции с

    endpointNumber

    Число конечной точки для транзакции

    completion

    Действие для выполнения, когда завершается I/O

    direction

    Указывает направление для передачи. kUSBIn или KUSBOut.

    frameStart

    Число кадра, в котором можно запустить транзакции

    pBuffer

    описывает буфер памяти.

    frameCount

    число кадров для выполнения в транзакциях

    pFrames

    Описывает транзакции в отдельных кадрах, дает размеры и reults для транзакций.

    updateFrequency

    Описывает, как часто мы обновляем frameList параметры (в мс)

  • Функция UIM Удаляет указанную конечную точку, возвращая все транзакции, поставленные в очередь на нем.

    Объявление

    C++

    virtual IOReturn UIMDeleteEndpoint( shortfunctionNumber, shortendpointNumber, shortdirection) = 0;

    Параметры

    functionNumber

    USB-устройство ID устройства для Удаления

    endpointNumber

    Число конечной точки для Удаления

    direction

    Указывает направление конечной точки для уникальности. kUSBIn или KUSBOut.

  • Функция UIM, завершите контроллер и структуры данных UIM до удаления.

    Объявление

    C++

    virtual IOReturn UIMFinalize() = 0;

  • Функция UIM, инициализируйте контроллер и структуры данных UIM.

    Объявление

    C++

    virtual IOReturn UIMInitialize( IOService *provider ) = 0;

  • Функция UIM UIMRootHubStatusChange - Этот метод была внутренней к UIM (никогда не вызываемый суперклассом) до IOUSBControllerV3. Для UIMs, которые являются подклассом IOUSBController или IOUSBControllerV2, он может все еще использоваться внутренне только. Для подклассов IOUSBControllerV3, однако, значение изменилось немного. Теперь, это используется, чтобы определить, существует ли изменение состояния на корневом концентраторе, и если так, это должно обновить переменную экземпляра IOUSBControllerV3 _rootHubStatusChangedBitmap

    Объявление

    C++

    virtual void UIMRootHubStatusChange( void) = 0;

  • Функция UIM UIMRootHubStatusChange (bool) - Этот метод был внутренним к UIM (никогда не вызываемый суперклассом) до IOUSBControllerV3. Для UIMs, которые являются подклассом IOUSBController или IOUSBControllerV2, он может все еще использоваться внутренне только. Для подклассов IOUSBControllerV3, однако, это стало устаревшим (это все еще должно быть реализовано, так как это чисто виртуальный),

    Объявление

    C++

    virtual void UIMRootHubStatusChange( bool abort ) = 0;

  • Функция UIM UIMRootHubStatusChange (bool) - Этот метод был внутренним к UIM (никогда не вызываемый суперклассом) до IOUSBControllerV3. Для UIMs, которые являются подклассом IOUSBController или IOUSBControllerV2, он может все еще использоваться внутренне только. Для подклассов IOUSBControllerV3, однако, это стало устаревшим (это все еще должно быть реализовано, так как это чисто виртуальный),

    Объявление

    C++

    virtual void UIMRootHubStatusChange( bool abort ) = 0;

  • Объявление

    C++

    virtual IOReturn Write( IOMemoryDescriptor *buffer, USBDeviceAddressaddress, Endpoint *endpoint, IOUSBCompletion *completion, UInt32noDataTimeout, UInt32completionTimeout, IOByteCountreqCount );

    Параметры

    buffer

    место для получения переданных данных

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был освобожден, описывает действие для взятия

    noDataTimeout

    число миллисекунд никакого перемещения данных перед запросом прерывается

    completionTimeout

    число milliseonds после команды находится на шине, в которой это должно завершиться

    reqCount

    число байтов, которые требуют на передачу (не должно быть больше, чем длина буфера),

    Обсуждение

    Запишите в прерывание или увеличьте объем конечной точки

  • Объявление

    C++

    virtual IOReturn Write( IOMemoryDescriptor *buffer, USBDeviceAddressaddress, Endpoint *endpoint, IOUSBCompletion *completion );

    Параметры

    buffer

    место для получения переданных данных

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был освобожден, описывает действие для взятия

    Обсуждение

    Запишите в прерывание или увеличьте объем конечной точки

  • Объявление

    C++

    virtual IOReturn Write( IOMemoryDescriptor *buffer, USBDeviceAddressaddress, Endpoint *endpoint, IOUSBCompletion *completion );

    Параметры

    buffer

    место для получения переданных данных

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был освобожден, описывает действие для взятия

    Обсуждение

    Запишите в прерывание или увеличьте объем конечной точки

  • Объявление

    C++

    virtual IOReturn Write( IOMemoryDescriptor *buffer, USBDeviceAddress address, Endpoint *endpoint, IOUSBCompletion *completion, UInt32 noDataTimeout, UInt32 completionTimeout );

    Параметры

    buffer

    место для получения переданных данных

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был освобожден, описывает действие для взятия

    Обсуждение

    Запишите в прерывание или увеличьте объем конечной точки

  • Объявление

    C++

    virtual IOReturn Write( IOMemoryDescriptor *buffer, USBDeviceAddress address, Endpoint *endpoint, IOUSBCompletion *completion, UInt32 noDataTimeout, UInt32 completionTimeout );

    Параметры

    buffer

    место для получения переданных данных

    address

    Адрес устройства на Шине USB

    endpoint

    описание конечной точки

    completion

    когда буфер был освобожден, описывает действие для взятия

    Обсуждение

    Запишите в прерывание или увеличьте объем конечной точки

Типы данных

  • Объявление

    C++

    struct Endpoint { IOUSBEndpointDescriptor *descriptor; UInt8 number; UInt8 direction; // in, out UInt8 transferType; // cntrl , bulk, isoc, int UInt16 maxPacketSize; // MPS (includes the multiplier for HS High Bandwidth Isoch endpoints) UInt8 interval; };

    Поля

    descriptor

    Необработанный дескриптор конечной точки.

    number

    Число конечной точки

    direction

    Направление конечной точки: kUSBOut, kUSBIn, kUSBAnyDirn

    transferType

    Тип конечной точки: kUSBControl, kUSBIsoc, kUSBBulk, kUSBInterrupt

    maxPacketSize

    Максимальный размер пакета для конечной точки, которая будет включать множитель для HS Высокие конечные точки Пропускной способности

    interval

    Опрос интервала в миллисекундах (только relevent для конечных точек Прерывания)

    Обсуждение

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