WWW.KNIGI.KONFLIB.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

 
<< HOME
Научная библиотека
CONTACTS

Pages:     || 2 | 3 | 4 |

«Санкт-Петербург БХВ-Петербург 2007 УДК 681.3.06 ББК 32.973.26-018.1 К63 Комиссарова В. К63 Программирование драйверов для Windows. — СПб.: БХВ-Петербург, 2007. — 256 с.: ...»

-- [ Страница 1 ] --

Валерия Комиссарова

Санкт-Петербург

«БХВ-Петербург»

2007

УДК 681.3.06

ББК 32.973.26-018.1

К63

Комиссарова В.

К63 Программирование драйверов для Windows. — СПб.:

БХВ-Петербург, 2007. — 256 с.: ил. —

(Профессиональное программирование)

ISBN 978-5-9775-0023-4

Книга представляет собой практическое руководство по программированию драйверов для всей линейки операционных систем Windows NT, включая новую ОС Windows Vista. Разбираются важнейшие драйверные архитектуры — традиционная WDM и новая WDF. Излагаются основы теории программирования драйверов для многопроцессорных систем. Показано, как создать простейший драйвер, а также приведены практические примеры написания сложных драйверов для принтера, монитора, видеокарты и USB-камеры.

Для программистов УДК 681.3. ББК 32.973.26-018. Группа подготовки издания:

Главный редактор Екатерина Кондукова Зам. главного редактора Игорь Шишигин Зав. редакцией Григорий Добин Редактор Анна Кузьмина Компьютерная верстка Натальи Смирновой Корректор Наталия Першакова Дизайн серии Инны Тачиной Оформление обложки Елены Беляевой Зав. производством Николай Тверских Лицензия ИД № 02429 от 24.07.00. Подписано в печать 05.03.07.

Формат 70 1001/16. Печать офсетная. Усл. печ. л. 20,64.

Тираж 2500 экз. Заказ № "БХВ-Петербург", 194354, Санкт-Петербург, ул. Есенина, 5Б.

Отпечатано с готовых диапозитивов в ГУП "Типография "Наука" 199034, Санкт-Петербург, 9 линия, ISBN 978-5-9775-0023-6 © Комиссарова В., © Оформление, издательство "БХВ-Петербург", Предисловие

Структура книги.

Кому адресована эта книга.

Об авторе.

Глава 1. Основные понятия разработки драйверов

1.1. Общие понятия

1.2. Инструментарий.

Глава 2. Архитектура Windows

Глава 3. Архитектура WDM.

Глава 4. Программирование в режиме ядра

Глава 5. Структура драйвера.

Глава 6. Простейший драйвер для Windows

6.1. Написание драйвера

6.2. Компиляция драйвера

6.3. Инсталляция драйвера

6.4. Отладка драйверов

Глава 7. Сложные драйверы для Windows.

7.1. Драйвер для принтера

7.2. Драйвер для дисплея и драйвер для видеокарты

7.3. Фильтр-драйвер для USB-камеры

Глава 8. Мультипроцессорная парадигма программирования

8.1. Мультипроцессинг.

8.2. Многопроцессорность и многоядерность от компании Intel:

спецификация MPS

8.3. Процессоры Intel Itanium 2.

IV Глава 9. Написание 64-битных драйверов и драйверов для многопроцессорных систем

9.1. Написание 64-битных драйверов

9.2. Написание драйверов для многопроцессорных систем

Глава 10. Новая операционная система Microsoft — Windows Vista.................. Глава 11. Windows Driver Foundation (WDF)

11.1. Новая драйверная модель Microsoft

11.2. Объектная модель WDF

11.3. Объекты KMDF

11.4. Объекты UMDF

11.5. Plug and Play, управление питанием и модель ввода/вывода в WDF..... Глава 12. Написание драйверов в Vista — KMDF

12.1. Объектная модель KMDF

12.2. Простейший KMDF-драйвер

Глава 13. Написание драйверов в Vista — UMDF

ПРИЛОЖЕНИЯ

Приложение 1. Краткий словарь терминов

Приложение 2. Полезные исходные коды из DDK

П2.1. Исходные коды монитора порта принтера

П2.2. Исходные коды фильтр-драйвера

Приложение 3. Полезные исходные коды из KMDF

Приложение 4. Полезные исходные коды из UMDF

Приложение 5. Описание компакт-диска

Список полезной литературы

Предметный указатель

Драйверная концепция — неотъемлемая часть современных операционных систем. Эта концепция — основа взаимодействия системы (пользователя) с какими бы то ни было устройствами (системными/периферийными, реальными/виртуальными и т. д.). К сожалению, даже системные программисты (не говоря уже о прикладных программистах или, вовсе, о рядовых пользователях) далеко не всегда имеют какое-либо представление об этой концепции, о принципах ее работы, о программировании с использованием этой концепции. А, как известно, системное программирование — ключ к пониманию основ IT. Тем более, такой его раздел, как написание драйверов. Поэтому необходимость качественного изучения его — очевидна.

Написание драйверов — достаточно сложная, но, тем не менее, очень интересная и, что немаловажно, актуальная отрасль программирования. Знание особенностей технологий написания драйверов открывает огромное количество возможностей — написание драйверов для устройств, уже не поддерживаемых производителем, для устройств, драйверы к которым еще не написаны, исправление ошибок в драйверах, написание драйверов к различным промышленным устройствам... Список можно продолжать долго.

Большую помощь в деле освоения какого бы то ни было раздела программирования оказывает соответствующая литература. Но, к сожалению, на российском рынке компьютерной литературы остро ощущается нехватка изданий по написанию драйверов для различных операционных систем и платформ (особенно в последнее время). Кроме трех-четырех книг (причем далеко не все из них хотя бы приемлемого качества) — больше ничего нет.



В результате этого наблюдения и возникла идея написания подобной книги.

Тема написания драйверов настолько огромна, что в такой маленькой по объему книге невозможно рассказать и половины того, что хотелось бы, и многие темы описаны лишь обзорно. Во-первых, не стоит забывать об операционных системах, отличных от семейства операционных систем Windows, использующихся повсеместно (самая популярная из которых, пожалуй, Linux), написание драйверов для которых осталось за рамками книги. Во-вторых, следует помнить о большом количестве устройств, написание драйверов для которых — очень трудное дело, со своей спецификой, требующее нетривиальных знаний и т. д. Все эти темы мы оставим в надежде на появление в будущем хорошей литературы по вышеуказанным и многим другим предметам, входящим в обширнейшую область знаний под названием "программирование драйверов".

Актуальность темы программирования драйверов не уменьшается в течение уже долгого времени. Меняются лишь какие-либо драйверные модели (как, например, в случае с WDM на WDF, описанном в этой книге), но смены концепции драйверов как таковой не предвидится еще очень долго. Этому есть свои причины. Концепция драйверов до сих пор жива далеко не только потому, что IT-индустрия просто привыкла к ней. Драйверная концепция обладает рядом неоспоримых преимуществ, которые позволяют ей оставаться "на плаву". Изменение драйверной концепции "тянет" за собой изменение большого количества компонентов (таких как архитектура существующих операционных систем, например), тесно с ней взаимосвязанных (и наоборот). Пока что, повторяю, это не предвидится.

Глава 1. Основные понятия разработки драйверов.

В данной, вводной главе разъясняются основные понятия и концепции, с которыми сталкивается любой программист драйверов. Прочтение этой главы даст вам возможность уже без особых трудностей воспринимать последующий материал, изобилующий специфическими терминами и понятиями. Также в этой главе дается обзор самых главных и популярных (что важно, заслуженно) инструментов для написания драйверов.

Глава 2. Архитектура Windows.

В этой главе дается краткий обзор архитектуры операционной системы Windows. Хорошо знать и понимать архитектуру операционной системы, код для которой пишет системный программист, ему совершенно необходимо.

Глава 3. Архитектура WDM.

Здесь приводится подробное описание драйверной архитектуры WDM, которая долгое время являлась главной технологией и концепцией написания драйверов для ОС Windows. Вам необходимо разбираться в этой технологии, чтобы писать хорошие драйверы, грамотно использующие концепцию, с помощью которой они создаются, для любых операционных систем Windows, за исключением самых последних, использующих новую драйверную модель WDF.

Глава 4. Программирование в режиме ядра.

Процесс программирования в режиме ядра имеет очень существенные отличия от такового в пользовательском режиме. Фактически вы должны заново научиться программировать. Это не громкая фраза — в режиме ядра свои "законы" программирования, свое API и т. д. Написание драйверов режима ядра невозможно без знания и понимания этих различий — главные из которых и описываются в этой главе.

Глава 5. Структура драйвера.

В этой главе показана и объяснена общая структура кода любого драйвера — как простого, так и сложного. Знание и понимание этой структуры помогает писать хорошо оформленный, удобный для чтения, исправления и сопровождения, эффективный код драйвера.

Глава 6. Простейший драйвер для Windows.

В этой главе подробно описывается весь процесс создания простейшего драйвера с минимальными функциями для ОС Windows NT — от написания самого кода, его компиляция и инсталляции до отладки драйвера.

Глава даст вам (ну или, во всяком случае, попытается это сделать) все необходимые знания для осуществления этого процесса и немного больше того.

Глава 7. Сложные драйверы для Windows.

В этой главе подробно описан процесс написания настоящих сложных драйверов с большим количеством функций для определенных устройств — принтера, монитора и видеокарты, фильтр-драйвера камеры. Написанию драйверов для каждого из вышеперечисленных типов устройств можно посвятить отдельную книгу (пусть и не очень большую). В противовес этому — всего одна глава. Ее задача — объяснить главные принципы, концепции написания "полноценных" драйверов, выполняющих сложную работу с устройством, рассказать о характерных приемах, используемых при этом, дать представление о спектре знаний, необходимых для успешной работы в этой области, и т. д. и т. п.

Глава 8. Мультипроцессорная парадигма программирования.

Так как в этой книге, помимо всего прочего, рассказывается и о написании многопоточных драйверов, то я считаю необходимым, кроме того, рассказать и объяснить, что такое многопроцессорные системы вообще, какова их архитектура и особенности (как высоко-, так и низкоуровневые), в чем суть новой многопоточной парадигмы программирования и т. д.

Эта вводная информация абсолютно необходима для полноценного понимания основ и принципов многопроцессорных систем и написания профессиональных драйверов для них.

Глава 9. Написание 64-битных драйверов и драйверов для многопроцессорных систем.

В этой главе рассказывается о написании многопоточных и 64-битных драйверов.

Глава 10. Новая операционная система Microsoft — Windows Vista.

Прежде чем приступать к рассказу о написании драйверов под новейшую ОС Windows Vista от компании Microsoft, необходимо опять-таки тщательно разобраться в самой системе — в ее новых возможностях, особенностях и т. д. В этом вам поможет материал данной главы. Мы рассмотрим сначала общую перспективу ОС Vista, затем перейдем к изучению более низкоуровневых ее особенностей.

Глава 11. Windows Driver Foundation (WDF).

Вместе с новой ОС Vista компания Microsoft, соответственно, выпустила и новую драйверную модель WDF. В этой главе подробно рассказывается об этой новой технологии, без знания которой нельзя писать качественные драйверы под Vista. Вы получите все необходимые для написания драйверов с использованием этой модели знания.

Глава 12. Написание драйверов в Vista — KMDF.



Pages:     || 2 | 3 | 4 |
 



Похожие работы:

«Анатолий Рыбаков Дети Арбата Анатолий Наумович Рыбаков Время действия романа А.Рыбакова Дети Арбата – 1934 год. Автор вводит читателей то в кремлевские кабинеты, то в атмосферу коммунальных квартир, то в институтские аудитории или тюремную камеру; знакомит с жизнью и бытом сибирской деревни. Герои романа – простые юноши и девушки с московского Арбата и люди высшего эшелона власти – Сталин и его окружение, рабочие и руководители научных учреждений и крупных строек. Об их духовном мире,...»

«ВСЕМИРНЫй бИбЛИОТЕчНЫй И ИНФОРМАцИОННЫй КОНГРЕСС: 77-Я ГЕНЕРАЛЬНАЯ КОНФЕРЕНцИЯ ИФЛА 13—18 августа в г. Сан-Хуане, столице Пуэрто–Рико, состоялся Всемирный библиотечный и информационный конгресс: 77-я Генеральная конференция ИФЛА. В работе Конгресса приняли участие генеральный директор РНБ А. В. Лихоманов, заместители генерального директора В. Р. Фирсов (президент РБА), О. Н. Кулиш, И. Л. Линден, директор Издательства РНБ Т. А. Нижник, заведующая Отделом картографии Л. К. Кильдюшевская....»

«ЗАКОН РЕСПУБЛИКИ КОМИ О республиканском бюджете Республики Коми на 2001 год Принят Государственным Советом Республики Коми 22 декабря 2000 года Статья 1. Утвердить республиканский бюджет Республики Коми на 2001 год по расходам в сумме 6866423 тыс.рублей, в том числе бюджет текущих расходов в сумме 5820075 тыс.рублей, бюджет капитальных расходов (бюджет развития) в сумме 1046348 тыс.рублей исходя из прогнозируемого объема доходов в сумме 6885827 тыс.рублей согласно приложению № 1 к настоящему...»

«ность.Он ровными быстрыми движениями профессио ся наполненным странным щемящим чувством, нала, тысячелетиями делающего свое дело, начиняет когда где то в области солнечного сплетения воз эти мумии традиционным набором бальзамирующих никает какое то загадочное опьяняюще будоражащее трав с незначительным отличием букета ароматических бурление. Тогда ты думаешь, что будь ты...»

«Твоя научно-исследовательская работа Информационные материалы для школьника Петрозаводск 2001 ББК 74.200.585.0 Р 598 Печатается по решению редакционно-издательского совета Петрозаводского государственного университета Рогова О.Б. Твоя научно-исследовательская работа: Информационные материалы для школьР 598 ника / О.Б. Рогова, А.А. Рогов, Е.А. Клюкина; ПетрГУ. Петрозаводск, 2001. 32 с. ISBN 5-8021-0178-4 Представленные информационные материалы содержат советы и рекомендации, призванные помочь...»

«РАБОЧАЯ ПРОГРАММА по дисциплине Прокурорский надзор для специальности 030501 Юриспруденция заочная форма обучения курс: 4 (6 лет.), 4 (сокр., 2-е высш.) семестр: 8 ( 6 лет.), 7 (сокр., 2-е высш.) лекции: 4 ч. (6 лет.), 8 ч. (сокр., 2-е высш.) семинары: 6 ч. (6 лет), 8 ч. (сокр., 2-е высш.) самостоятельные занятия: 70 ч. (6 лет.), 78 ч. (сокр., 2-е высш.) зачет: 8 (6 лет.), 7 (сокр., 2-е высш.) Всего часов 94 ч. Составитель: к.ю.н., доцент, Жариков Е.В. Белово, 2013 Print to PDF without this...»

«5 6 Хочу выразить благодарность Фреду Томасу, который вдохновил меня на написание этой книги. Благодарю также Ингу Штимминг и Николь Полман, которые с большой любовью и усердием редактировали мою рукопись 7 8 Приготовься, дочь Моя, вставай, время пришло! Ты будешь ходить по горам и видеть вершины, О которых ты сегодня еще ничего не знаешь. Ты будешь бегать по высотам, Связанная с Господом узами любви Его. Пожелала ли ты любви Господа Ты получишь ее. Он будет нести тебя на руках, И среди тысяч...»






 
© 2013 www.knigi.konflib.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.