Введение в доступ к аппаратным средствам из приложений
Существует много причин, Ваше приложение, возможно, должно было бы получить доступ к аппаратным средствам: Получение событий от нажатия мыши и событий клавиатуры, получая доступ к устройствам, таким как цифровая видеокамера FireWire, и управляя устройством из приложения является только некоторыми. Несмотря на то, что только кодируют, который находится в ядре, может получить доступ к аппаратным средствам непосредственно, OS X предоставляет много услуг, позволяющих, Вы для передачи с аппаратными средствами от плагинов, приложений, совместно использовали библиотеки и другое выполнение кода вне ядра.
Кто должен считать этот документ?
Этот документ описывает, как программное обеспечение, работающее в OS X, может получить доступ к аппаратным средствам путем передачи с ядром, фокусировки на услугах, которые Набор I/O предоставляет для разработки основанного на приложении драйвера. Если необходимо получить доступ к устройству из приложения, необходимо считать этот документ. Обратите внимание на то, что много приложений будут в состоянии обработать все свои потребности аппаратного доступа с помощью высокоуровневого APIs, те, которые Открывают Transport и QuickTime, которые доступны через Углерод и Какао. Для помощи Вы определить, какой подход является правильным для Вас, и для сводки других служб OS X, предусматриваете аппаратный доступ из приложений, посмотрите Опции Аппаратного доступа.
Этот документ включает много фрагментов кода, иллюстрирующих различные задачи, вовлеченные в разработку приложения, что аппаратные средства доступов, но это не предназначается, чтобы быть поэтапной поваренной книгой для доступа к определенному типу устройства. Чтобы определить, как получить доступ к определенному устройству, посмотрите Поддержку Доступа к устройствам семьи Набора I/O; Для каждого семейства устройства это указывает, как получить доступ к устройству в той семье и где найти более подробную документацию.
Этот документ не описывает, как записать резидентный ядром код для доступа к аппаратным средствам. Программисты ядра должны обратиться к Руководству по программированию Ядра, и разработчики драйвера устройства в ядре должны считать Руководство по проектированию Драйвера устройства IOKit. В частности при разработке собственного интерфейса устройства и пользовательского клиента для создания настраиваемого решения получить доступ устройству, необходимо считать Аппаратные средства Создания, Доступные для главы Приложений в том документе. Для других документов, касающихся, как получить доступ к определенным устройствам, посещение Ссылочная Библиотека> Аппаратные средства и Драйверы.
Организация этого документа
Доступ к Аппаратным средствам Из Приложений включает следующие главы:
Описывает много других методов, которые можно использовать для аппаратных средств доступа из приложения, такого как Core Audio, QuickTime и менеджер событий Углерода. Считайте эту главу, чтобы определить, может ли такой высокоуровневый APIs удовлетворить Ваши потребности.
Доступ к устройствам и набор I/O
Суммирует архитектуру Набора I/O, обеспечивая список терминов, используемый всюду по этому документу и описывая как модели Набора I/O соединения I/O. Это тогда описывает два фундаментальных аппаратных метода доступа поддержки Набора I/O: интерфейсы устройства и файлы устройств.
Нахождение и доступ к устройствам
Описывает шаги, которые Вы предпринимаете для доступа к устройству с помощью интерфейса устройства Набора I/O и, для надлежащих устройств, с помощью файла устройств.
Категоризирует и описывает функции основного API, поддерживающего доступ к устройствам пространства пользователя через Набор I/O.
Ошибки из-за неправильного обращения
Описывает, как интерпретировать возвращаемые значения Набора I/O и предоставляет информацию об ошибке эксклюзивного доступа.
Поддержка Доступа к устройствам семьи Набора I/O
Перечисляет текущие семьи I/O Kit и описывает то, что поддерживает, они предусматривают аппаратный доступ из приложений.
Списки изменяются на этот документ.
Определяет ключевые термины, использованные в этом документе.
См. также
Несмотря на то, что этот документ включает сводку основной информации о Наборе 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
.