IOUSBControllerV3
подкласс IOUSBControllerV2 для оказания поддержки для новых методов Управления питанием USB.
С Leopard мы предоставляем больше информации Драйверам USB-устройства в дереве IOPower для обеспечения более эффективного Управления питанием. Этот класс контроллера encapulates многие изменения, необходимые для этого, не нарушая сторонние подклассы IOUSBController или IOUSBControllerV2
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый
Objective C
@import Kernel;
Доступность
Доступный в OS X v10.5 и позже.
-
Функция UIM, возвратите дескриптор концентратора моделируемого корневого устройства концентратора Как запрос управления GET_DESCRIPTOR на концентратор descrptor
Объявление
C++
virtual IOReturn GetRootHub3Descriptor( IOUSB3HubDescriptor *desc);Параметры
descСтруктура дескриптора для возврата данных в
-
Функция UIM, retrun дескриптор BOS моделируемого корневого устройства концентратора, Поскольку GET_DESCRIPTOR управляют запросом на конфигурацию descrptor
Объявление
C++
virtual IOReturn GetRootHubBOSDescriptor( OSData *desc);Параметры
descСтруктура дескриптора для возврата данных в
-
Функция UIM, возвратите дескриптор концентратора моделируемого корневого устройства концентратора Как запрос управления GET_DESCRIPTOR на концентратор descrptor
Объявление
C++
virtual IOReturn GetRootHub3Descriptor( IOUSB3HubDescriptor *desc);Параметры
descСтруктура дескриптора для возврата данных в
-
Функция UIM, возвращает количество ошибки порта моделируемого корневого устройства концентратора (GET_PORT_ERROR_COUNT от спецификации USB 3.0)
Объявление
C++
virtual IOReturn GetRootHubPortErrorCount( UInt16port, UInt16 *count);Параметры
portНомер порта
countУказатель на UInt16 для хранения фактического ошибочного количества ссылки
-
Объявление
C++
virtual IOReturn Read( UInt32streamID, IOMemoryDescriptor *buffer, USBDeviceAddressaddress, Endpoint *endpoint, IOUSBCompletion *completion, UInt32noDataTimeout, UInt32completionTimeout, IOByteCountreqCount);Параметры
streamIDпоток ID потока для чтения из
bufferпоместите для помещения переданных данных
addressАдрес устройства на Шине USB
endpointописание конечной точки
completionкогда буфер был заполнен, описывает действие для взятия
noDataTimeoutчисло миллисекунд никакого перемещения данных перед запросом прерывается
completionTimeoutчисло milliseonds после команды находится на шине, в которой это должно завершиться
reqCountчисло байтов, которые требуют на передачу (не должно быть больше, чем длина буфера),
Обсуждение
Читайте из потока на объемной конечной точке
-
Аварийное прекращение работы функции UIM указанная конечная точка или поток, возвратите все транзакции, поставленные в очередь на нем.
Объявление
C++
virtual IOReturn UIMAbortStream( UInt32streamID, shortfunctionNumber, shortendpointNumber, shortdirection);Параметры
streamIDЕсли нуль, аварийное прекращение работы конечная точка, если не нуль прерывает поток на конечной точке
functionNumberUSB-устройство ID устройства для Прерывания
endpointNumberЧисло конечной точки для Прерывания
directionУказывает направление конечной точки для уникальности. kUSBIn или KUSBOut.
-
Аварийное прекращение работы функции UIM указанная конечная точка или поток, возвратите все транзакции, поставленные в очередь на нем.
Объявление
C++
virtual IOReturn UIMAbortStream( UInt32streamID, shortfunctionNumber, shortendpointNumber, shortdirection);Параметры
streamIDЕсли нуль, аварийное прекращение работы конечная точка, если не нуль прерывает поток на конечной точке
functionNumberUSB-устройство ID устройства для Прерывания
endpointNumberЧисло конечной точки для Прерывания
directionУказывает направление конечной точки для уникальности. kUSBIn или KUSBOut.
-
Создайте конечную точку в контроллере с потоками суперскорости и/или maxburst возможностями, если контроллер не поддерживает суперскорость, этот метод не должен быть переопределен
Объявление
C++
virtual IOReturn UIMCreateSSBulkEndpoint( UInt8functionNumber, UInt8endpointNumber, UInt8direction, UInt8speed, UInt16maxPacketSize, UInt32maxStreams, UInt32maxBurst);Параметры
functionNumberUSB-устройство ID устройства
endpointNumberадрес конечной точки конечной точки в устройстве
directionНаправление потока данных. kUSBIn или kUSBOut
speedскорость устройства kUSBDeviceSpeedFull, kUSBDeviceSpeedHigh, kUSBDeviceSuper
maxPacketSizeмаксимальный размер пакета этой конечной точки
maxStreamsМаксимальное потоковое число, которое может использовать эта конечная точка
maxBurstчисло дополнительных пакетов в пакетной передаче
-
Создайте конечную точку в контроллере с потоками суперскорости и/или maxburst возможностями, если контроллер не поддерживает суперскорость, этот метод не должен быть переопределен
Объявление
C++
virtual IOReturn UIMCreateSSBulkEndpoint( UInt8functionNumber, UInt8endpointNumber, UInt8direction, UInt8speed, UInt16maxPacketSize, UInt32maxStreams, UInt32maxBurst);Параметры
functionNumberUSB-устройство ID устройства
endpointNumberадрес конечной точки конечной точки в устройстве
directionНаправление потока данных. kUSBIn или kUSBOut
speedскорость устройства kUSBDeviceSpeedFull, kUSBDeviceSpeedHigh, kUSBDeviceSuper
maxPacketSizeмаксимальный размер пакета этой конечной точки
maxStreamsМаксимальное потоковое число, которое может использовать эта конечная точка
maxBurstчисло дополнительных пакетов в пакетной передаче
-
Создайте конечную точку в контроллере с maxburst возможностями, если контроллер не поддерживает суперскорость, этот метод не должен быть переопределен
Объявление
C++
virtual IOReturn UIMCreateSSInterruptEndpoint( shortfunctionNumber, shortendpointNumber, UInt8direction, shortspeed, UInt16maxPacketSize, shortpollingRate, UInt32maxBurst);Параметры
functionNumberUSB-устройство ID устройства
endpointNumberадрес конечной точки конечной точки в устройстве
directionНаправление потока данных. kUSBIn или kUSBOut
speedскорость устройства kUSBDeviceSpeedFull, kUSBDeviceSpeedHigh, kUSBDeviceSpeedSuper
maxPacketSizeмаксимальный размер пакета этой конечной точки
pollingRatemaxBurstчисло дополнительных пакетов в пакетной передаче
-
Создайте конечную точку в контроллере с maxburst возможностями, если контроллер не поддерживает суперскорость, этот метод не должен быть переопределен
Объявление
C++
virtual IOReturn UIMCreateSSIsochEndpoint( shortfunctionNumber, shortendpointNumber, UInt32maxPacketSize, UInt8direction, UInt8interval, UInt32maxBurstAndMult);Параметры
functionNumberUSB-устройство ID устройства
endpointNumberадрес конечной точки конечной точки в устройстве
maxPacketSizeмаксимальный размер пакета этой конечной точки
directionНаправление потока данных. kUSBIn или kUSBOut
intervalmaxBurstAndMultчисло дополнительных пакетов в пакетной передаче и пакетном множителе
-
Создайте потоки на конечной точке, если контроллер не поддерживает суперскорость, этот метод не должен быть переопределен
Объявление
C++
virtual IOReturn UIMCreateStreams( UInt8functionNumber, UInt8endpointNumber, UInt8direction, UInt32maxStreams);Параметры
functionNumberUSB-устройство ID устройства
endpointNumberадрес конечной точки конечной точки в устройстве
directionНаправление потока данных. kUSBIn или kUSBOut
maxStreamsЧисло потоков для создания
-
Скажите UIM, что будет сброшено устройство.
Объявление
C++
virtual IOReturn UIMDeviceToBeReset( shortfunctionAddress);Параметры
functionAddressUSB-устройство ID устройства
Возвращаемое значение
Возвратите kIOReturnSuccess, если каналы были удалены и потребность быть установкой снова.
-
UIM функционируют Возвраты, сколько потоков на конечную точку поддерживается контроллером USB. Этот вызов не проходит через логический элемент workloop.
Объявление
C++
virtual UInt32 UIMMaxSupportedStream(void);Возвращаемое значение
Число потоков на endpont, поддерживающиеся контроллером USB. Значение 0 указывает, что не поддерживаются потоки.
-
Объявление
C++
virtual IOReturn Write( UInt32streamID, IOMemoryDescriptor *buffer, USBDeviceAddressaddress, Endpoint *endpoint, IOUSBCompletion *completion, UInt32noDataTimeout, UInt32completionTimeout, IOByteCountreqCount);Параметры
streamIDпоток ID потока для записи в
bufferместо для получения переданных данных
addressАдрес устройства на Шине USB
endpointописание конечной точки
completionкогда буфер был освобожден, описывает действие для взятия
noDataTimeoutчисло миллисекунд никакого перемещения данных перед запросом прерывается
completionTimeoutчисло milliseonds после команды находится на шине, в которой это должно завершиться
reqCountчисло байтов, которые требуют на передачу (не должно быть больше, чем длина буфера),
Обсуждение
Запишите в поток на объемной конечной точке
