Программирование драйверов Windows

Лупа бинокулярная налобная лбм на сайте www.spetsmedpribor.net. | антигравийная пленка материал цена. |

Процедура DriverEntry - часть 3


Регистрация такой процедуры выполняется системным вызовом IoRegisterDriverReinitialization (см. таблицу 8.2).

Таблица 8.2. Параметры системного вызова IoRegisterDriverReinitialization

VOID IoRegisterDriverReinitialization IRQL == PASSIVE_LEVEL
Параметры Регистрирует функцию драйвера для отложенной инициализации
IN PDRIVER_OBJECT pDriverObject Указатель на объект драйвера
IN PDRIVER_REINITIALIZE DriverReinitializationRoutine Указатель на процедуру реинициализации, предоставляемую драйвером (см. таблицу 8.3 ниже).
IN PVOID Context Контекстный указатель, который получит регистрируемая функция при вызове
Возвращаемое значение void

Таблица 8.3. Описание параметров вызова myReinitializeFunction

VOID myReinitializeFunction IRQL == PASSIVE_LEVEL
Параметры Функция драйвера, регистрируемая для выполнения отложенной инициализации
IN PDRIVER_OBJECT pDriverObject Указатель на объект драйвера
IN PVOID Context Контекстный блок, указанный при регистрации
IN ULONG Количество вызовов процедуры ре-инициализации (отсчет от 0)
Возвращаемое значение void

Как было указано в главе 7, процедуру DriverEntry можно разместить в "отстреливающемся" сегменте кода INIT.




Начало  Назад  Вперед



Книжный магазин