IOHIDDeviceDeviceInterface
Объект Вы используете для доступа к устройствам HID от пространства пользователя, возвращенного версией 1.5 IOHIDFamily.
Функции, перечисленные здесь, будут работать с любой версией IOHIDDeviceDeviceInterface.
Примечание: Обратите внимание на то, что методы, объявленные в этом интерфейсе, следуют скопировать/получить/установить соглашениям.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый не применимый
-
Закрывает соединение задачи с IOHIDDevice.
Объявление
C++
IOReturn ( *close)(void *self,IOOptionBits options);Параметры
selfУказатель на IOHIDDeviceDeviceInterface.
optionsБиты опции, которые будут переданы пользовательскому клиенту.
Возвращаемое значение
Возвраты kIOReturnSuccess в случае успеха, kIOReturnNoDevice, если нет никакого соединения с IOService.
Обсуждение
Выпускает доступ клиента к IOHIDDevice.
-
Получает CFArrayRef, содержащий элементы IOHIDDeviceDeviceInterface, соответствующие переданный словарь соответствия.
Объявление
C++
IOReturn ( *copyMatchingElements)(void *self,CFDictionaryRef matchingDict,CFArrayRef *pElements,IOOptionBits options);Параметры
selfУказатель на IOHIDDeviceDeviceInterface.
matchingDictCFDictionaryRef, содержащий свойства элемента для соответствия на.
pElementsCFArrayRef, содержащий, соответствовал элементы.
optionsЗарезервированный для будущего использования. Проигнорированный в текущей реализации. Обнулить.
Возвращаемое значение
Возвраты kIOReturnSuccess, если успешный или kern_return_t, если неуспешный.
Обсуждение
Объекты, содержавшиеся в возвращенном массиве, имеют тип IOHIDElementRef. См. IOHIDElement.h для получения дополнительной информации API. Свойства Elemenet снабжаются префиксом kIOHIDElement и объявляются в IOHIDKeys.h.
-
Получает источник события для этого экземпляра IOHIDDeviceDeviceInterface.
Объявление
C++
IOReturn ( *getAsyncEventSource)(void *self,CFTypeRef *pSource);Параметры
selfУказатель на IOHIDDeviceDeviceInterface.
pSourceУказатель на CFType для возврата источника события цикла выполнения.
Возвращаемое значение
Возвраты kIOReturnSuccess, если успешный или kern_return_t, если неуспешный.
Обсуждение
Возвращенный источник события может иметь тип CFRunLoopSourceRef или CFRunLoopTimerRef.
-
Получает свойство, связанное с IOHIDDevice.
Объявление
C++
IOReturn ( *getProperty)(void *self,CFStringRef key,CFTypeRef *pProperty);Параметры
selfУказатель на IOHIDDeviceDeviceInterface.
keyКлюч CFStringRef
pPropertyУказатель на свойство CFTypeRef.
Возвращаемое значение
Возвраты kIOReturnSuccess в случае успеха.
Обсуждение
Ключи свойства снабжаются префиксом kIOHIDDevice и объявляются в IOHIDKeys.h.
-
Получает отчет типа kIOHIDReportTypeInput или kIOHIDReportTypeFeature от IOHIDDevice.
Объявление
C++
IOReturn ( *getReport)(void *self,IOHIDReportType reportType,uint32_t reportID,uint8_t *report,CFIndex *pReportLength,uint32_t timeout,IOHIDReportCallback callback,void *context,IOOptionBits options);Параметры
selfУказатель на IOHIDDeviceDeviceInterface.
reportTypeТип отчета.
reportIDИдентификатор отчета.
reportУказатель на предварительно выделенный буфер, чтобы быть заполненным.
reportLengthДлина буфера отчета. По окончании это будет содержать фактическую длину отчета.
timeoutТайм-аут в миллисекундах для выпуска getReport.
callbackОбратный вызов типа IOHIDReportCallback, который будет использоваться, когда отчетные данные были получены от устройства. Если ноль, этот метод будет вести себя синхронно.
contextУказатель на данные, которые будут переданы обратному вызову.
optionsЗарезервированный для будущего использования. Проигнорированный в текущей реализации. Обнулить.
Возвращаемое значение
Возвраты kIOReturnSuccess, если успешный или kern_return_t, если неуспешный.
Обсуждение
Если специальные знания непроанализированного отчета известны вызывающей стороне, этот метод полезен. Иначе, использование IOHIDDeviceTransactionInterface с kIOHIDTransactionDirectionTypeInput направлением рекомендуется.
Примечание: Для использования асинхронного поведения источник события получил использование getAsyncEventSource, должен быть добавлен к циклу выполнения.
-
Получает текущую стоимость для элемента.
Объявление
C++
IOReturn ( *getValue)(void *self,IOHIDElementRef element,IOHIDValueRef *pValue,uint32_t timeout,IOHIDValueCallback callback,void *context,IOOptionBits options);Параметры
selfУказатель на IOHIDDeviceDeviceInterface.
elementIOHIDElementRef, ссылающийся на элемент интереса.
pValueУказатель на IOHIDValueRef для возврата значения элемента.
timeoutВремя в миллисекундах для ожидания перед прерывающимся запросом.
callbackОбратный вызов типа IOHIDReportCallback, который будет использоваться, когда значение элемента было получено от устройства. Если ноль, этот метод будет вести себя синхронно.
contextУказатель на данные, которые будут переданы обратному вызову.
optionsЗарезервированный для будущего использования. Проигнорированный в текущей реализации. Обнулить.
Возвращаемое значение
Возвраты kIOReturnSuccess, если успешный или kern_return_t, если неуспешный.
Обсуждение
Если элемент типа kIOHIDElementTypeFeature будет передан, то этот метод выпустит запрос к IOHIDDevice. Иначе, это возвратит последнее значение, о котором сообщает IOHIDDevice. При запросе многократных значений элемента функции рассмотрите использование IOHIDDeviceTransactionInterface с kIOHIDTransactionDirectionTypeInput направлением.
Примечание: Для использования асинхронного поведения источник события получил использование getAsyncEventSource, должен быть добавлен к циклу выполнения.
-
Открывает IOHIDDevice.
Объявление
C++
IOReturn ( *open)(void *self,IOOptionBits options);Параметры
selfУказатель на IOHIDDeviceDeviceInterface.
optionsБиты опции, которые будут переданы пользовательскому клиенту.
Возвращаемое значение
Возвраты kIOReturnSuccess в случае успеха, некоторая другая ошибка Маха, если соединение больше не действительно.
Обсуждение
Прежде чем клиент может дать команды, изменяющие состояние устройства, оно, должно быть, преуспело в том, чтобы открыть устройство. Это устанавливает ссылку между задачей клиента и существующим устройством. Для установления монопольной ссылки используют kIOHIDOptionsTypeSeizeDevice опцию.
-
Устанавливает входной обратный вызов отчета, который будет использоваться, когда данные получены от Входного канала.
Объявление
C++
IOReturn ( *setInputReportCallback)(void *self,uint8_t *report,CFIndex reportLength,IOHIDReportCallback callback,void *context,IOOptionBits options);Параметры
selfУказатель на IOHIDDeviceDeviceInterface.
reportУказатель на предварительно выделенный буфер, чтобы быть заполненным и пасоваться назад через обратный вызов.
reportLengthДлина буфера отчета.
callbackОбратный вызов типа IOHIDReportCallback, который будет использоваться, когда отчетные данные были receieved IOHIDDevice.
contextУказатель на данные, которые будут переданы обратному вызову.
optionsЗарезервированный для будущего использования. Проигнорированный в текущей реализации. Обнулить.
Возвращаемое значение
Возвраты kIOReturnSuccess, если успешный или kern_return_t, если неуспешный.
Обсуждение
Для функционирования должным образом, источник события получил использование getAsyncEventSource, должен быть добавлен к циклу выполнения.
-
Устанавливает свойство, связанное с IOHIDDevice.
Объявление
C++
IOReturn ( *setProperty)(void *self,CFStringRef key,CFTypeRef property);Параметры
selfУказатель на IOHIDDeviceDeviceInterface.
keyКлюч CFStringRef
propertyСвойство CFTypeRef.
Возвращаемое значение
Возвраты kIOReturnSuccess в случае успеха.
Обсуждение
Ключи свойства снабжаются префиксом kIOHIDDevice и объявляются в IOHIDKeys.h.
-
Отправляет отчет типа kIOHIDReportTypeOutput или kIOHIDReportTypeFeature к IOHIDDevice.
Объявление
C++
IOReturn ( *setReport)(void *self,IOHIDReportType reportType,uint32_t reportID,const uint8_t *report,CFIndex reportLength,uint32_t timeout,IOHIDReportCallback callback,void *context,IOOptionBits options);Параметры
selfУказатель на IOHIDDeviceDeviceInterface.
reportTypeТип отчета.
reportIDИдентификатор отчета.
reportУказатель на буфер, содержащий отчетные данные, которые будут отправлены.
reportLengthДлина буфера отчета.
timeoutТайм-аут в миллисекундах для выпуска setReport.
callbackОбратный вызов типа IOHIDReportCallback, который будет использоваться после отчетных данных, был отправлен в устройство. Если ноль, этот метод будет вести себя синхронно.
contextУказатель на данные, которые будут переданы обратному вызову.
optionsЗарезервированный для будущего использования. Проигнорированный в текущей реализации. Обнулить.
Возвращаемое значение
Возвраты kIOReturnSuccess, если успешный или kern_return_t, если неуспешный.
Обсуждение
Если специальные знания непроанализированного отчета известны вызывающей стороне, этот метод полезен. Иначе, использование IOHIDDeviceTransactionInterface с kIOHIDTransactionDirectionTypeOutput направлением рекомендуется.
Примечание: Для использования асинхронного поведения источник события получил использование getAsyncEventSource, должен быть добавлен к циклу выполнения.
-
Устанавливает значение для элемента.
Объявление
C++
IOReturn ( *setValue)(void *self,IOHIDElementRef element,IOHIDValueRef value,uint32_t timeout,IOHIDValueCallback callback,void *context,IOOptionBits options);Параметры
selfУказатель на IOHIDDeviceDeviceInterface.
elementIOHIDElementRef, ссылающийся на элемент интереса.
valueIOHIDValueRef, содержащий значение элемента, которое будет установлено.
timeoutВремя в миллисекундах для ожидания перед прерывающимся запросом.
callbackОбратный вызов типа IOHIDValueCallback, который будет использоваться после отчетных данных, был отправлен в устройство. Если ноль, этот метод будет вести себя синхронно.
contextУказатель на данные, которые будут переданы обратному вызову.
optionsЗарезервированный для будущего использования. Проигнорированный в текущей реализации. Обнулить.
Возвращаемое значение
Возвраты kIOReturnSuccess, если успешный или kern_return_t, если неуспешный.
Обсуждение
При установке многократных значений элемента рассмотрите использование IOHIDDeviceTransactionInterface с kIOHIDTransactionDirectionTypeOutput направлением.
Примечание: Для использования асинхронного поведения источник события получил использование getAsyncEventSource, должен быть добавлен к циклу выполнения.
