| « Поставить закладку » « Сделать стартовой » | |||
|
|||
| Статьи:: Системы защиты :: Общая архитектура Windows NT :: Точка входа DriverEntry
Точка входа DriverEntryДиспетчер ввода/вывода вызывает точку входа DriverEntry при
загрузке драйвера. В NT может существовать только один экземпляр драйвера, вне
зависимости от числа физических устройств, контролируемых им. Таким образом,
DriverEntry вызывается только один раз, на уровне IRQL равном PASSIVE_LEVEL в
системном контексте. NTSTATUS DriverEntry(IN
PDRIVER_OBJECT DriverObject, Где: DriverObject - указатель на
объект-драйвер, соответствующий загружаемому драйверу;
RegistryPath - указатель на строку в формате Unicode с именем ключа
реестра, соответствующего загружаемому драйверу.
Информация об определении всех других точек входа драйвера будет описана в следующих разделах. Определение конфигурации аппаратного устройства Довольно обширную тему, связанную с подготовкой драйвера к
использованию аппаратного устройства мы пропустим. Интересующиеся могут
обратиться к [Device Driver Development, chapter 13. Driver Entry]. Создание объекта-устройства и символической связи Как уже говорилось, объект-устройство представляет
физическое, логическое или виртуальное устройство, которое должно быть
использовано в качестве получателя запросов ввода/вывода. Именованный
объект-устройство может быть использован либо из прикладного уровня посредством
вызова (Nt)CreateFile(), либо из другого драйвера посредством вызова
IoGetDeviceObjectPointer(). NTSTATUS loCreateDevice(IN PDRIVER_OBJECT DriverObject, Стоит упомянуть, что при необходимости создания нескольких
именованных объектов-устройств одного типа (параметр DeviceType) стандартные
драйверы NT пользуются определенным соглашением (которое не является
обязательным). А именно: к фиксированному имени прибавляется номер устройства,
начиная с нуля. Например, СОМ0, СОМ1,... Это позволяет открывать устройства, про
которые заранее не известно, существуют они или нет. Для получения следующего
номера, для которого еще не создано устройство, драйвер может использовать
функцию loGetConfiguration Information(). Эта функция возвращает указатель на
структуру, содержащую число устройств текущего драйвера для каждого
обнаруженного типа устройства. Рубрика: Общая архитектура Windows NT
Инструменты Internet Explorer 8 Beta 2 для разработчиков.
Подробнее... |
Рубрика: Вебмастеру
| Добавлено: 05.09.2008
Google Developer Day 2008 в Москве.
Дата проведения: 28 октября 2008 г.; Место проведения: Амбер Плаза, Москва, Россия. Конференция для веб-разработчиков и разработчиков мобильных приложений в Москве. Узнайте, как наилучшим образом использовать инструменты разработки и API от Google, чтобы создавать социальные, мобильные и картографические приложения, как использовать AJAX/JavaScript инструменты и библиотеки от Google и многое другое из первых уст.
Подробнее... |
Рубрика: Мероприятия
| Добавлено: 05.09.2008
ТОП 10 самых раздражающих факторов для программиста.
Совсем недавно наткнулся в интернете на забавный "хит-парад" наиболее раздражающих вещей для программиста. Поскольку он был на английском — решил перевести текст и несколько адаптировать к нашим реалиям…
Подробнее... |
Рубрика: Разное
| Добавлено: 03.09.2008
Остальные статьи:
Windows Server 7, 8 и 9
jQuery для JavaScript-программистов
Инновационный веб-броузер Google Chrome стартует уже сегодня
Windows 7: подход к производительности системы
Trac + Subversion @ Ubuntu: Revisited
[g]Vim в режиме Python: Рекомпиляция в Windows
Java + JSON. Пути к дружбе
Драйвер SQL Server 2005 для PHP
Типы данных в MySQL (сжатый справочник для PHP программиста)
PHP класс для работы с Яндекс.XML
Ошибки начинающих PHP разработчиков
Наследование шаблонов в Smarty
Особенности хранения сессий PHP в memcached
Internet Explorer 8 beta 2
9 правил для начинающего Ajax-разработчика
ExtJS 2.2 - полная поддержка Firefox 3, новые виджеты и другие нововведения |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|