Драйвер Защищенный режим клиент/сервер Подсистема среды Диспетчер Объектов Ядро ОС сетевая архитектура ОС программный интерфейс Ключар в центъра, на повикване. удаленный доступ Сетевые сервисы Маршрутизатор NetBEUI Разработка приложений Реализация защиты шифрование
Как уже отмечалось во вступительном разделе, термин Windows NT используется для описания всех версий операционной системы Windows, основанных на технологии NT. В это семейство входят Windows NT 3.x, Windows NT 4.0, Windows 2000,' Windows XP и Windows Server 2003.

С и C++. Интегрированная среда разработки

Необходимо особо отметить, что драйверы предполагается писать на С, а не на C++. Microsoft не поддерживает использование C++ для компонентов ядра. Для этого имеется ряд причин:

  • отсутствие библиотеки времени исполнения (runtime library), а, следовательно, и определяемых в ней глобальных операторов new и delete4;
  • отсутствие поддержки исключительных ситуаций C++;
  • нет поддержки инициализации глобальных экземпляров классов.

В принципе, все эти проблемы разрешимы. Не будем останавливаться на описании конкретных способов. Об этом вы можете узнать в статье «C++ Runtime Support for the NT DDK», а также из анализа заголовочных файлов в продукте DriverWorks (в особенности файла vdw.h).
Как было сказано выше, интегрированная среда Developer Studio не имеет поддержки для создания драйверов. Драйверы компилируются из командной строки с использованием утилиты BUILD, поставляемой в составе DDK.
Реализовать поддержку драйверов из интегрированной среды можно несколькими способами:

  • реализацией собственного АррWizard (см. АррWizard Programming Reference);
  • созданием проекта на основе make-файла с вызовом собственного командного файла.

Этот файл должен:

  • произвести настройку переменных окружения с помощью вызова setenv.bat из DDK;
  • перейти в директорию с исходным текстом и вызвать утилиту build (см. также статью «Integrating BUILD and Developer Studio» в директории NT Insider).

Реализация собственного Арр Wizard - довольно непростая задача, однако, можно воспользоваться готовым из DriverWorks. Последовательность действий такая: выберите меню Developer Studio File\New... . В появившемся окне на закладке Projects выберите NT/WDM Driver (DriverWorks). В появившемся окне Мастера укажите тип драйвера NT и следуйте инструкциям, внося минимальные изменения. По завершении работы мастера удалите все созданные им срр- и h-файлы, и вставьте собственные с- и h-файлы.

Операционная система Windows NT проектировалась как модульная, многоуровневая архитектура, поддерживающая расширения за счет добавление новых функций. Архитектура позволяет добавлять поддержку новых устройств и новых возможностей, например шифрующей файловой системы (EFS). Архитектура системы позволяет добавлять поддержку приложений, которые основаны на других операционных системах, например OS/2 или POSIX.
Сетевая архитектура Windows