Программирование аппаратных средств в Windows

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Книга посвящена программированию базовых компонентов персонального компьютера: мыши, клавиатуры, процессора, системных устройств, дисковой подсистемы, а также систем мониторинга питания, температур, видео и звука. Уделено внимание популярным интерфейсам USB, IEEE 1394 и др. Рассмотрены особенности программирования в операционных системах Windows ME/2000/XP и Vista. Приведено большое количество простых и понятных примеров, написанных на языке C++. Для написания и отладки примеров были использованы оболочки Visual C++ 6.0 и Visual Studio 2008. Во втором издании расcмотрены особенности программирования для ОС Windows Vista. Прилагаемый компакт-диск содержит исходные коды всех примеров и системные драйверы для работы с аппаратными портами ввода-вывода.
Для программистов.
Компакт-диск отсутствует.

Author(s): Несвижский В.
Series: Профессиональное программирование
Publisher: БХВ-Петербург
Year: 2008

Language: Russian
Tags: Библиотека;Компьютерная литература;C / C++;

 
Введение 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

Глава 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

Глава 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