Библиотека knigago >> Компьютеры: Операционные системы >> Windows >> Работа с ядром Windows


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1602, книга: Агхора. По левую руку Бога
автор: Роберт Е. Свобода

Эзотерика, мистицизм, оккультизм "Агхора. По левую руку Бога" - глубоко интригующий и провокационный труд Роберта Свободы, в котором он исследует таинственный мир индийской традиции агхоры. Агхора - это духовный путь, известный своими шокирующими ритуалами и практиками, которые бросают вызов общепринятым нормам. Свобода приглашает читателя отправиться вместе с ним в путешествие в этот мрачный и волнующий мир. Он рассказывает личные истории агхори, их ритуалы, практики и философию....

Павел Йосифович - Работа с ядром Windows

Работа с ядром Windows
Книга - Работа с ядром Windows.  Павел Йосифович  - прочитать полностью в библиотеке КнигаГо
Название:
Работа с ядром Windows
Павел Йосифович

Жанр:

Windows, Системное программирование

Изадано в серии:

Для профессионалов

Издательство:

Питер

Год издания:

ISBN:

978-5-4461-1680-5

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Работа с ядром Windows"

Ядро Windows таит в себе большую силу. Но как заставить ее работать? Павел Йосифович поможет вам справиться с этой сложной задачей: пояснения и примеры кода превратят концепции и сложные сценарии в пошаговые инструкции, доступные даже начинающим. В книге рассказывается о создании драйверов Windows. Однако речь идет не о работе с конкретным «железом», а о работе на уровне операционной системы (процессы, потоки, модули, реестр и многое другое). Вы начнете с базовой информации о ядре и среде разработки драйверов, затем перейдете к API, узнаете, как создавать драйвера и клиентские приложения, освоите отладку, обработку запросов, прерываний и управление уведомлениями. 16+

Читаем онлайн "Работа с ядром Windows". [Страница - 3]

. 132
Использование __try/__finally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Использование RAII-оберток C++ вместо __try/__finally . . . . . . . . . . . . . . . 135
Фатальный сбой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Информация дампа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Анализ файла дампа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Зависание системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Синхронизация потоков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Операции со взаимоблокировкой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Объекты диспетчеризации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Мьютекс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Быстрый мьютекс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Семафор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Событие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Ресурс исполнительной системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Синхронизация при высоких уровнях IRQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Спин-блокировка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Рабочие элементы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Глава 7. Пакеты запросов ввода/вывода (IRP) . . . . . . . . . . . . . . . . . . . . . . 169
Знакомство с IRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Узлы устройств . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Последовательность действий при работе с IRP . . . . . . . . . . . . . . . . . . . . . 174
IRP и позиция стека ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Просмотр информации об IRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Функции диспетчеризации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Завершение запроса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

8   Оглавление
Обращение к пользовательским буферам . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Буферизованный ввод/вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Прямой ввод/вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Пользовательские буферы для запросов
IRP_MJ_DEVICE_CONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Всё вместе: драйвер Zero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Использование предварительно откомпилированного заголовка . . . . . . 196
Функция DriverEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Функция диспетчеризации для чтения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Функция диспетчеризации для записи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Тестовое приложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Глава 8. Уведомления потоков и процессов . . . . . . . . . . . . . . . . . . . . . . . . 203
Уведомления процессов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Реализация уведомлений процессов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Функция DriverEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Обработка уведомлений о выходе из процессов . . . . . . . . . . . . . . . . . . . . . 211
Обработка уведомлений о создании процессов . . . . . . . . . . . . . . . . . . . . . 213
Передача данных в пользовательский режим . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Клиент пользовательского режима . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Уведомления потоков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Уведомления о загрузке образов . . . . . . . . . . . . . . . . . . . . . . . --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Другие книги из серии «Для профессионалов»:

Красивый C++. Дж. Гай Дэвидсон
- Красивый C++

Жанр: C, C++, C#

Год издания: 2023

Серия: Для профессионалов