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

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

Разработчик

Ссылка IOHIDDevicePlugIn.h

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

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

Ссылка IOHIDDevicePlugIn.h

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

Эта документация предполагает, что у Вас есть основное понимание материала, содержавшегося в Для определений терминов Набора I/O, использованных в этой документации, таких как соответствие словаря, семьи и драйвера, см. обзор условий Набора I/O и понятий в «Доступе к устройствам и главе» Набора I/O Доступа к Аппаратным средствам Из Приложений.

Эта документация также предполагает, что Вы читали. Рассмотрите документацию перед использованием этой ссылки.

Вся информация, описанная в этом документе, содержится в заголовочном файле IOHIDLib.h найденный в /System/Library/Frameworks/IOKit.framework/Headers/hid/IOHIDDevicePlugIn.h.

Включенные заголовки

  • <sys/cdefs.h>

  • <CoreFoundation/CoreFoundation.h>

  • <CoreFoundation/CFPlugInCOM.h>

  • <IOKit/IOTypes.h>

  • <IOKit/IOReturn.h>

  • <IOKit/IOCFPlugIn.h>

  • <IOKit/hid/IOHIDBase.h>

  • <IOKit/hid/IOHIDKeys.h>

  • <IOKit/hid/IOHIDLibObsolete.h>

Константы

См. Обзор для документации уровня заголовка.

  • Объявление

    Objective C

    #define kIOHIDDeviceDeviceInterfaceID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0x47, 0x4b, 0xdc, 0x8e, 0x9f, 0x4a, 0x11, 0xda, \ 0xb3, 0x66, 0x00, 0x0d, 0x93, 0x6d, 0x06, 0xd2 ) #define kIOHIDDeviceFactoryID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0x13, 0xAA, 0x9C, 0x44, 0x6F, 0x1B, 0x11, 0xD4, \ 0x90, 0x7C, 0x00, 0x05, 0x02, 0x8F, 0x18, 0xD5) #define kIOHIDDeviceQueueInterfaceID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0x2e, 0xc7, 0x8b, 0xdb, 0x9f, 0x4e, 0x11, 0xda, \ 0xb6, 0x5c, 0x00, 0x0d, 0x93, 0x6d, 0x06, 0xd2) #define kIOHIDDeviceTransactionInterfaceID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0x1f, 0x2e, 0x78, 0xfa, 0x9f, 0xfa, 0x11, 0xda, \ 0x90, 0xb4, 0x00, 0x0d, 0x93, 0x6d, 0x06, 0xd2) #define kIOHIDDeviceTypeID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0x7d, 0xde, 0xec, 0xa8, 0xa7, 0xb4, 0x11, 0xda, \ 0x8a, 0x0e, 0x00, 0x14, 0x51, 0x97, 0x58, 0xef)

    Константы

    • kIOHIDDeviceDeviceInterfaceID

      kIOHIDDeviceDeviceInterfaceID

      Эта константа UUID используется для получения соответствия интерфейса устройства службе IOHIDDevice в ядре. Типом этого интерфейса устройства является IOHIDDeviceDeviceInterface. Этот интерфейс устройства получен после того, как IOCFPlugInInterface для самой службы был получен.

      Примечание: Обратите внимание на то, что последующие вызовы к QueryInterface с UUID kIOHIDDeviceTransactionInterfaceID, возвратит сохраненный экземпляр существующего IOHIDDeviceTransactionInterface.

      Пример:

      • IOCFPluginInterface ** iodev; // obtained earlier
      • IOHIDDeviceDeviceInterface ** dev; // fetching this now
      • IOReturn err;
      • err = (*iodev)->QueryInterface(iodev,
      • CFUUIDGetUUIDBytes(kIOHIDDeviceDeviceInterfaceID),
      • (LPVoid)&dev);

      Доступный в OS X v10.5 и позже.

    • kIOHIDDeviceFactoryID

      kIOHIDDeviceFactoryID

      Эта константа UUID используется внутренне системой и не придется использовать никаким кодом драйвера для доступа к интерфейсам устройства.

      Доступный в OS X v10.0 и позже.

    • kIOHIDDeviceQueueInterfaceID

      kIOHIDDeviceQueueInterfaceID

      Эта константа UUID используется для получения соответствия интерфейса очереди службе IOHIDDevice в ядре. Типом этого интерфейса очереди является IOHIDDeviceQueueInterface. Этот интерфейс устройства получен после того, как интерфейс устройства для самой службы был получен.

      Примечание: Обратите внимание на то, что последующие вызовы к QueryInterface с UUID kIOHIDDeviceQueueInterfaceID, возвратит сохраненный экземпляр нового IOHIDDeviceQueueInterface.

      Пример:

      • IOCFPluginInterface ** iodev; // obtained earlier
      • IOHIDDeviceQueueInterface ** intf; // fetching this now
      • IOReturn err;
      • err = (*iodev)->QueryInterface(iodev,
      • CFUUIDGetUUIDBytes(kIOHIDDeviceQueueInterfaceID),
      • (LPVoid)&intf);

      Доступный в OS X v10.5 и позже.

    • kIOHIDDeviceTransactionInterfaceID

      kIOHIDDeviceTransactionInterfaceID

      Эта константа UUID используется для получения соответствия интерфейса транзакции службе IOHIDDevice в ядре. Типом этого интерфейса очереди является IOHIDDeviceTransactionInterface. Этот интерфейс устройства получен после того, как интерфейс устройства для самой службы был получен.

      Примечание: Обратите внимание на то, что последующие вызовы к QueryInterface с UUID kIOHIDDeviceTransactionInterfaceID, возвратит сохраненный экземпляр нового IOHIDDeviceTransactionInterface.

      Пример:

      • IOCFPluginInterface ** iodev; // obtained earlier
      • IOHIDDeviceTransactionInterface ** intf; // fetching this now
      • IOReturn err;
      • err = (*iodev)->QueryInterface(iodev,
      • CFUUIDGetUUIDBytes(kIOHIDDeviceTransactionInterfaceID),
      • (LPVoid)&intf);

      Доступный в OS X v10.5 и позже.

    • kIOHIDDeviceTypeID

      kIOHIDDeviceTypeID

      Эта константа UUID используется для получения соответствия интерфейса устройства io_service_t, соответствующему IOHIDDevice в ядре. Как только Вы получили IOCFPlugInInterface для службы, необходимо использовать функцию QueryInterface для получения интерфейса устройства для пользовательского клиента самого.

      Пример:

      • io_service_t hidDeviceRef; // obtained earlier
      • IOCFPlugInInterface **iodev; // fetching this now
      • SInt32 score; // not used
      • IOReturn err;
      • err = IOCreatePlugInInterfaceForService(hidDeviceRef,
      • kIOHIDDeviceTypeID,
      • kIOCFPlugInInterfaceID,
      • &iodev,
      • &score);

      Доступный в OS X v10.5 и позже.