Введение в доступ к аппаратным средствам из приложений

Существует много причин, Ваше приложение, возможно, должно было бы получить доступ к аппаратным средствам: Получение событий от нажатия мыши и событий клавиатуры, получая доступ к устройствам, таким как цифровая видеокамера FireWire, и управляя устройством из приложения является только некоторыми. Несмотря на то, что только кодируют, который находится в ядре, может получить доступ к аппаратным средствам непосредственно, OS X предоставляет много услуг, позволяющих, Вы для передачи с аппаратными средствами от плагинов, приложений, совместно использовали библиотеки и другое выполнение кода вне ядра.

Кто должен считать этот документ?

Этот документ описывает, как программное обеспечение, работающее в OS X, может получить доступ к аппаратным средствам путем передачи с ядром, фокусировки на услугах, которые Набор I/O предоставляет для разработки основанного на приложении драйвера. Если необходимо получить доступ к устройству из приложения, необходимо считать этот документ. Обратите внимание на то, что много приложений будут в состоянии обработать все свои потребности аппаратного доступа с помощью высокоуровневого APIs, те, которые Открывают Transport и QuickTime, которые доступны через Углерод и Какао. Для помощи Вы определить, какой подход является правильным для Вас, и для сводки других служб OS X, предусматриваете аппаратный доступ из приложений, посмотрите Опции Аппаратного доступа.

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

Этот документ не описывает, как записать резидентный ядром код для доступа к аппаратным средствам. Программисты ядра должны обратиться к Руководству по программированию Ядра, и разработчики драйвера устройства в ядре должны считать Руководство по проектированию Драйвера устройства IOKit. В частности при разработке собственного интерфейса устройства и пользовательского клиента для создания настраиваемого решения получить доступ устройству, необходимо считать Аппаратные средства Создания, Доступные для главы Приложений в том документе. Для других документов, касающихся, как получить доступ к определенным устройствам, посещение Ссылочная Библиотека> Аппаратные средства и Драйверы.

Организация этого документа

Доступ к Аппаратным средствам Из Приложений включает следующие главы:

См. также

Несмотря на то, что этот документ включает сводку основной информации о Наборе I/O (в Сводке Набора I/O), необходимо считать Основные принципы IOKit для полного понимания этой подсистемы.

Знакомство с архитектурой CFPlugIn полезно в чтении этого документа. Эта архитектура описана в документации разработчика, доступной в Ссылочной Библиотеке> Базовая Основа.

Знание драйверов ядра OS X и драйверов устройств может быть полезным, но не требуется. Для получения большей информации об этих темах посетите Ссылочную Библиотеку> Дарвин.

При установке пакета Разработчика Вы получаете документацию разработчика, а также инструменты и пример кода. Можно счесть весь Набор I/O и документы ядра упомянутыми в этом документе перечисленный в /Developer/ADC Reference Library/documentation/Darwin и /Developer/ADC Reference Library/documentation/HardwareDrivers. Демонстрационные проекты доступны в /Developer/Examples. Большинство демонстрационных проектов, относящихся к доступу к устройствам из приложений, находится в /Developer/Examples/IOKit.

Там можно просмотреть документацию для BSD и функций POSIX и инструментов путем ввода man function_name в Окне терминала (например, man gdb) или в HTML в страницах справочника OS X.

Можно получить доступ к справочной документации на семьях I/O Kit от XCode, Средства просмотра Справки и Ссылочной Библиотеки> Аппаратные средства и Драйверы. Конечно, можно также просмотреть заголовочные файлы для различных семей I/O Kit и других служб I/O Kit, доступных от пространства пользователя в /System/Library/Frameworks/IOKit.framework/Headers.