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

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

Разработчик

Ссылка класса IOUSBInterfaceInterface

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

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

IOUSBInterfaceInterface

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

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

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


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

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


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

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


Не применимый не применимый
  • Аварийные прекращения работы любые выдающиеся транзакции на канале с состоянием kIOReturnAborted.

    Объявление

    C++

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

    Параметры

    self

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

    pipeRef

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

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

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

    Обсуждение

    Если будут выдающиеся асинхронные транзакции на канале, то обратные вызовы произойдут. Обратите внимание на то, что эта команда также очистится, остановленный обдумал конечную точку в контроллере, но НЕ очистит бит переключателя данных. Если Вы хотите очистить бит переключателя данных также, посмотрите ClearPipeStall или ClearPipeStallBothEnds для получения дополнительной информации. Интерфейс должен быть открыт для канала для существования.

  • Очищает остановленный бит, и переключатель данных обдумал конечную точку канала в контроллере.

    Объявление

    C++

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

    Параметры

    self

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

    pipeRef

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

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

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

    Обсуждение

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

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

    Объявление

    C++

    IOReturn ( *ControlRequest)( void *self, UInt8 pipeRef, IOUSBDevRequest *req);

    Параметры

    self

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

    pipeRef

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

    req

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

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

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

    Обсуждение

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

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

    Объявление

    C++

    IOReturn ( *ControlRequestAsync)( void *self, UInt8 pipeRef, IOUSBDevRequest *req, IOAsyncCallback1 callback, void *refCon);

    Параметры

    self

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

    pipeRef

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

    req

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

    callback

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

    refCon

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

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

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

    Обсуждение

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

  • Создает источник цикла выполнения для поставки всех асинхронных уведомлений на этом устройстве.

    Объявление

    C++

    IOReturn ( *CreateInterfaceAsyncEventSource)( void *self, CFRunLoopSourceRef *source);

    Параметры

    self

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

    source

    Указатель на CFRunLoopSourceRef для возврата недавно создаваемого источника события цикла выполнения.

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

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

    Обсуждение

    Ядро OS X не порождает поток к обратному вызову клиенту. Вместо этого это поставляет уведомления завершения на порту Маха (см. CreateInterfaceAsyncPort). Эти обертки подпрограммы, что порт с надлежащим кодом маршрутизации так, чтобы уведомления завершения могли быть автоматически направлены через CFRunLoop клиента.

  • Создает и регистрирует mach_port_t для асинхронной передачи.

    Объявление

    C++

    IOReturn ( *CreateInterfaceAsyncPort)( void *self, mach_port_t *port);

    Параметры

    self

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

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

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

    Обсуждение

    Ядро OS X не порождает поток к обратному вызову клиенту. Вместо этого это поставляет уведомления завершения на этом порту Маха. После получения сообщения на этом порту клиент обязан вызвать IOKitLib.h: IODispatchCalloutFromMessage () функционируют для декодирования уведомления.

  • Возвращает альтернативу, устанавливающую в настоящее время выбираемый в этом интерфейсе.

    Объявление

    C++

    IOReturn ( *GetAlternateSetting)( void *self, UInt8 *intfAltSetting);

    Параметры

    self

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

    intfAltSetting

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

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

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

    Обсуждение

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

  • Получает текущее число кадра шины, к которой присоединяются интерфейс и его устройство.

    Объявление

    C++

    IOReturn ( *GetBusFrameNumber)( void *self, UInt64 *frame, AbsoluteTime *atTime);

    Параметры

    self

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

    frame

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

    atTime

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

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

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

    Обсуждение

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

  • Возвращает текущий набор значений конфигурации в устройстве (интерфейс будет частью той конфигурации.)

    Объявление

    C++

    IOReturn ( *GetConfigurationValue)( void *self, UInt8 *configVal);

    Параметры

    self

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

    configVal

    Указатель на UInt8 для содержания значения конфигурации.

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

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

    Обсуждение

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

  • Возвращает устройство, которого этот интерфейс является частью.

    Объявление

    C++

    IOReturn ( *GetDevice)( void *self, io_service_t *device);

    Параметры

    self

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

    device

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

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

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

    Обсуждение

    Интерфейс не должен быть открыт для использования этой функции. Возвращенное устройство может использоваться для создания CFPlugin, чтобы говорить с устройством.

  • Возвращает Идентификатор продукта USB (idProduct) устройства, которого этот интерфейс является частью.

    Объявление

    C++

    IOReturn ( *GetDeviceProduct)( void *self, UInt16 *devProduct);

    Параметры

    self

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

    devProduct

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

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

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

    Обсуждение

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

  • Возвращает Номер выпуска Устройства (bcdDevice) устройства, которого этот интерфейс является частью.

    Объявление

    C++

    IOReturn ( *GetDeviceReleaseNumber)( void *self, UInt16 *devRelNum);

    Параметры

    self

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

    devRelNum

    Указатель на UInt16 для содержания Номера выпуска.

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

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

    Обсуждение

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

  • Возвращает Идентификатор поставщика USB (idVendor) устройства, которого этот интерфейс является частью.

    Объявление

    C++

    IOReturn ( *GetDeviceVendor)( void *self, UInt16 *devVendor);

    Параметры

    self

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

    devVendor

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

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

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

    Обсуждение

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

  • Возвращает CFRunLoopSourceRef для этого экземпляра IOService.

    Объявление

    C++

    CFRunLoopSourceRef ( *GetInterfaceAsyncEventSource)( void *self);

    Параметры

    self

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

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

    Возвращает источник цикла выполнения, если Вы были созданы, 0 иначе.

    Обсуждение

    (описание)

  • Возвращает mach_port_t порт для этого экземпляра IOService.

    Объявление

    C++

    mach_port_t ( *GetInterfaceAsyncPort)( void *self);

    Параметры

    self

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

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

    Возвращает порт, если Вы существуете, 0 иначе.

  • Возвращает Класс USB интерфейса (bInterfaceClass).

    Объявление

    C++

    IOReturn ( *GetInterfaceClass)( void *self, UInt8 *intfClass);

    Параметры

    self

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

    intfClass

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

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

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

    Обсуждение

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

  • Возвращает интерфейсное число (основанный на нуле индекс) этого интерфейса в текущей конфигурации устройства.

    Объявление

    C++

    IOReturn ( *GetInterfaceNumber)( void *self, UInt8 *intfNumber);

    Параметры

    self

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

    intfNumber

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

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

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

    Обсуждение

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

  • Возвращает Протокол USB интерфейса (bInterfaceProtocol).

    Объявление

    C++

    IOReturn ( *GetInterfaceProtocol)( void *self, UInt8 *intfProtocol);

    Параметры

    self

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

    intfProtocol

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

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

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

    Обсуждение

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

  • Возвращает Подкласс USB интерфейса (bInterfaceSubClass).

    Объявление

    C++

    IOReturn ( *GetInterfaceSubClass)( void *self, UInt8 *intfSubClass);

    Параметры

    self

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

    intfSubClass

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

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

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

    Обсуждение

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

  • Возвращает расположение ID.

    Объявление

    C++

    IOReturn ( *GetLocationID)( void *self, UInt32 *locationID);

    Параметры

    self

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

    locationID

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

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

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

    Обсуждение

    ID расположения является числом на 32 бита, которое уникально среди всех USB-устройств в системе, и которое не изменится на системной перезагрузке, если не изменится топология самой шины. Интерфейс не должен быть открыт для использования этой функции.

  • Возвращает число конечных точек в этом интерфейсе.

    Объявление

    C++

    IOReturn ( *GetNumEndpoints)( void *self, UInt8 *intfNumEndpoints);

    Параметры

    self

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

    intfNumEndpoints

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

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

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

    Обсуждение

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

  • Получает свойства для канала.

    Объявление

    C++

    IOReturn ( *GetPipeProperties)( void *self, UInt8 pipeRef, UInt8 *direction, UInt8 *number, UInt8 *transferType, UInt16 *maxPacketSize, UInt8 *interval);

    Параметры

    self

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

    pipeRef

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

    direction

    Указатель на UInt8 для получения направления канала.

    number

    Указатель на UInt8 для получения числа канала.

    transferType

    Указатель на UInt8 для получения типа передачи канала.

    maxPacketSize

    Указатель на UInt16 для получения maxPacketSize канала.

    interval

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

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

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

    Обсуждение

    Как только интерфейс открыт, все каналы в том интерфейсе создаются ядром. Число каналов может быть получено GetNumEndpoints. Клиент может тогда получить свойства любого канала с помощью индекса 1 к GetNumEndpoints. Канал 0 является каналом управления по умолчанию в устройстве.

  • Получает текущий статус канала.

    Объявление

    C++

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

    Параметры

    self

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

    pipeRef

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

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

    Возвраты kIOReturnNoDevice, если нет никакого соединения с IOService или kIOReturnNotOpen, если интерфейс не открыт для эксклюзивного доступа. Иначе, состояние канала возвращается. Возвраты kIOUSBPipeStalled, если останавливается канал. Посмотрите ClearPipeStall или ClearPipeStallBothEnds для получения дополнительной информации.

    Обсуждение

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

  • Выполняет чтение на канале ISOCHRONOUS.

    Объявление

    C++

    IOReturn ( *ReadIsochPipeAsync)( void *self, UInt8 pipeRef, void *buf, UInt64 frameStart, UInt32 numFrames, IOUSBIsocFrame *frameList, IOAsyncCallback1 callback, void *refcon);

    Параметры

    self

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

    pipeRef

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

    buf

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

    frameStart

    Число кадра шины, на котором можно запустить чтение (полученный из GetBusFrameNumber).

    numFrames

    Число кадров, для которых можно передать данные.

    frameList

    Указатель на массив структур IOUSBIsocFrame, описывающих кадры.

    callback

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

    refcon

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

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

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

    Обсуждение

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

  • Считывает данные на BULK IN или канал INTERRUPT.

    Объявление

    C++

    IOReturn ( *ReadPipe)( void *self, UInt8 pipeRef, void *buf, UInt32 *size);

    Параметры

    self

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

    pipeRef

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

    buf

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

    size

    На записи: на указатель на размер буфера указывает buf. На выходе: указатель на число байтов фактически читал из устройства.

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

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

    Обсуждение

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

  • Выполняет асинхронное чтение на BULK IN или канал INTERRUPT.

    Объявление

    C++

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

    Параметры

    self

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

    pipeRef

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

    buf

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

    size

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

    callback

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

    refcon

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

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

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

    Обсуждение

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

  • Эквивалентный ClearPipeStall.

    Объявление

    C++

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

    Параметры

    self

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

    pipeRef

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

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

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

    Обсуждение

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

  • Изменяет настройки AltInterface.

    Объявление

    C++

    IOReturn ( *SetAlternateInterface)( void *self, UInt8 alternateSetting);

    Параметры

    self

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

    alternateSetting

    Новая альтернативная установка для интерфейса.

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

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

    Обсуждение

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

  • Закрывает соединение задачи с IOUSBInterface.

    Объявление

    C++

    IOReturn ( *USBInterfaceClose)( void *self);

    Параметры

    self

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

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

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

    Обсуждение

    Выпускает эксклюзивный доступ клиента к IOUSBInterface.

  • Opensthe IOUSBInterface для эксклюзивного доступа.

    Объявление

    C++

    IOReturn ( *USBInterfaceOpen)( void *self);

    Параметры

    self

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

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

    Возвраты kIOReturnExclusiveAccess, если некоторой другой задаче уже открыли устройство, kIOReturnError, если соединение с ядром не может быть установлено или kIOReturnSuccess в случае успеха.

    Обсуждение

    Прежде чем клиент может передать данные и от интерфейса, они, должно быть, преуспели в том, чтобы открыть интерфейс. Это устанавливает монопольную ссылку между задачей клиента и фактическим устройством интерфейса. Открытие интерфейса заставляет каналы создаваться на каждой конечной точке, содержавшейся в интерфейсе. Если интерфейс содержит изохронные конечные точки, попытка предпринята для выделения пропускной способности на шине для каждого из тех каналов. Если существует недостаточно доступной пропускной способности, изохронный канал может быть создан с пропускной способностью нуля. Программное обеспечение должно тогда вызвать SetPipePolicy для изменения размера того канала, прежде чем это сможет использоваться для I/O.

  • Выполняет асинхронную запись на канале ISOCHRONOUS.

    Объявление

    C++

    IOReturn ( *WriteIsochPipeAsync)( void *self, UInt8 pipeRef, void *buf, UInt64 frameStart, UInt32 numFrames, IOUSBIsocFrame *frameList, IOAsyncCallback1 callback, void *refcon);

    Параметры

    self

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

    pipeRef

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

    buf

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

    frameStart

    Число кадра шины, на котором можно запустить запись (полученный из GetBusFrameNumber).

    numFrames

    Число кадров, для которых можно передать данные.

    frameList

    Указатель на массив структур IOUSBIsocFrame, описывающих кадры.

    callback

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

    refcon

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

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

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

    Обсуждение

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

  • Данные записей по BULK OUT или INTERRUPT канал OUT.

    Объявление

    C++

    IOReturn ( *WritePipe)( void *self, UInt8 pipeRef, void *buf, UInt32 size);

    Параметры

    self

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

    pipeRef

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

    buf

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

    size

    Размер буфера данных.

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

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

    Обсуждение

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

  • Выполняет асинхронную запись на BULK OUT или INTERRUPT канал OUT.

    Объявление

    C++

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

    Параметры

    self

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

    pipeRef

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

    buf

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

    size

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

    callback

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

    refcon

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

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

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

    Обсуждение

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