Название: Программирование аппаратных средств в Windows (+CD-ROM) Автор: Несвижский В. Издательство: БХВ-Петербург Год: 2008 Страниц: 528 ISBN: 978-5-9775-0263-4 Формат: PDF Размер: 10.3 Мб Язык: русский Серия: Профессиональное программирование
Книга посвящена программированию базовых компонентов персонального компьютера: мыши, клавиатуры, процессора, системных устройств, дисковой подсистемы, а также систем мониторинга питания, температур, видео и звука. Уделено внимание популярным интерфейсам USB, IEEE 1394 и др. Рассмотрены особенности программирования в операционных системах Windows ME/2000/XP и Vista. Приведено большое количество простых и понятных примеров, написанных на языке C++. Для написания и отладки примеров были использованы оболочки Visual C++ 6.0 и Visual Studio 2008. Во втором издании расcмотрены особенности программирования для ОС Windows Vista. Прилагаемый компакт-диск содержит исходные коды всех примеров и системные драйверы для работы с аппаратными портами ввода-вывода. Для программистов.
Содержание
Введение 7 Программные требования 8 Поддержка 8 Глава 1. Общие сведения 9 1.1. Использование функций ввода-вывода 10 1.2. Использование функции DeviceIoControl 14 1.3. Использование драйвера 17 1.4. Использование ассемблера 27 1.5. Недокументированный доступ к портам 28 1.6. Определение параметров оборудования 33 1.7. Драйверы и Windows Vista 50 Глава 2. Мышь 51 2.1. Общие сведения 52 2.2. Использование портов 56 2.2.1 Команда Reset (FFh) 61 2.2.2. Команда Resend (FEh) 62 2.2.3. Команда Set Defaults (F6h) 63 2.2.4. Команда Disable (F5h) 63 2.2.5. Команда Enable (F4h) 63 2.2.6. Команда Set Sample Rate (F3h) 63 2.2.7. Команда Read Device Type (F2h) 65 2.2.8. Команда Set Remote Mode (F0h) 65 2.2.9. Команда Set Wrap Mode (EEh) 66 2.2.10. Команда Reset Wrap Mode (ECh) 66 2.2.11. Команда Read Data (EBh) 66 2.2.12. Команда Set Stream Mode (EAh) 66 2.2.13. Команда Status Request (E9h) 66 2.2.14. Команда Set Resolution (E8h) 70 2.2.15. Команда Set Scaling 2:1 (E7h) 70 2.2.16. Команда Set Scaling 1:1 (E6h) 70 2.3. Использование Win32 API 71 2.3.1. Настройка мыши 71 2.3.2. Работа с курсором 76 Глава 3. Клавиатура 81 3.1. Общие сведения 81 3.2. Использование портов 86 3.2.1. Команда EDh 90 3.2.2. Команда EEh 91 3.2.3. Команда F2h 91 3.2.4. Команда F3h 93 3.3. Использование Win32 API 100 3.3.1. Настройка клавиатуры 102 3.3.2. Использование "горячих" клавиш 104 3.3.3. Поддержка языков 108 Глава 4. Видеоадаптер 111 4.1. Общие сведения 111 4.2. Использование портов 112 4.2.1. Внешние регистры 114 4.2.2. Регистры графического контроллера 117 4.2.3. Регистры контроллера атрибутов 122 4.2.4. Регистры контроллера CRT 126 4.2.5. Регистры ЦАП 136 4.2.6. Регистры синхронизатора 138 4.3. Использование Win32 API 141 4.3.1. Управление графическими режимами 142 4.3.2. Проверка возможностей видеоадаптера 146 4.3.3. Управление монитором 148 Глава 5. Работа с видео 151 5.1. Использование MCI 152 5.2. Использование VFW 161 Глава 6. Звуковая карта 175 6.1. Использование портов 176 6.1.1. Цифровой процессор 177 6.1.2. Микшер 186 6.1.3. Интерфейс MIDI 196 6.2. Использование Win32 API 201 Глава 7. Работа со звуком 219 7.1. Создание плеера аудиодисков 219 7.2. Программирование MIDI 234 7.3. Доступ к файлам в формате MP3 241 Глава 8. Системный динамик 257 8.1. Программирование системного динамика 258 Глава 9. Часы реального времени 261 9.1. Использование портов 262 Глава 10. Таймер 269 Глава 11. Дисковая подсистема 275 11.1. Использование портов 275 11.1.1. Регистры флоппи-дисковода 276 11.1.2. Команды управления для флоппи-дисковода 282 11.1.3. Устройства ATA/ATAPI 296 11.1.4. Команды управления для ATA/ATAPI-устройств 302 11.2. Использование Win32 API 330 Глава 12. Пространство шины PCI 339 12.1. Общие сведения 340 12.2. Использование портов 356 12.2.1. Регистр конфигурации адреса 356 12.2.2. Регистр конфигурации данных 356 Глава 13. Контроллер DMA 367 Глава 14. Контроллер прерываний 375 14.1. Команда ICW1 377 14.2. Команда ICW2 377 14.3. Команда ICW3 377 14.4. Команда ICW4 378 14.5. Команда OCW1 378 14.6. Команда OCW2 379 14.7. Команда OCW3 380 Глава 15. Процессор 383 Глава 16. Аппаратный мониторинг системы 395 Глава 17. Параллельный и последовательный порты 421 17.1. Общие сведения 421 17.2. Использование портов 422 17.3. Использование Win32 API 432 Глава 18. Современные интерфейсы 437 18.1. Интерфейс USB 438 18.1.1. Структура запроса 440 18.1.2. Структура дескрипторов 449 18.1.3. Использование запросов 457 18.1.4. Регистры ввода-вывода 467 18.1.5. Регистры конфигурации 473 18.2. Интерфейс IEEE 1394 474 18.2.1. Описание регистров 475 18.3. Интерфейс Wireless 500 18.3.1. Регистры конфигурации шины PCI 501 18.3.2. Регистры аппаратных возможностей 503 18.3.3. Регистры радиоуправления 505 18.3.4. Регистры хост контроллера 508 18.3.5. Команды и события 515 Приложение 1. Глоссарий 519 Приложение 2. Описание компакт-диска 523 Предметный указатель 524
Скачать Программирование аппаратных средств в Windows (+CD-ROM)
|