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.
matchingDict
CFDictionaryRef, содержащий свойства элемента для соответствия на.
pElements
CFArrayRef, содержащий, соответствовал элементы.
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.
element
IOHIDElementRef, ссылающийся на элемент интереса.
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.
element
IOHIDElementRef, ссылающийся на элемент интереса.
value
IOHIDValueRef, содержащий значение элемента, которое будет установлено.
timeout
Время в миллисекундах для ожидания перед прерывающимся запросом.
callback
Обратный вызов типа IOHIDValueCallback, который будет использоваться после отчетных данных, был отправлен в устройство. Если ноль, этот метод будет вести себя синхронно.
context
Указатель на данные, которые будут переданы обратному вызову.
options
Зарезервированный для будущего использования. Проигнорированный в текущей реализации. Обнулить.
Возвращаемое значение
Возвраты kIOReturnSuccess, если успешный или kern_return_t, если неуспешный.
Обсуждение
При установке многократных значений элемента рассмотрите использование IOHIDDeviceTransactionInterface с kIOHIDTransactionDirectionTypeOutput направлением.
Примечание: Для использования асинхронного поведения источник события получил использование getAsyncEventSource, должен быть добавлен к циклу выполнения.