Работа с критическими секциями. Структура RTL_CRITICAL_SECTION. Классы-обертки для критических секций. Отадка критических секций. Ошибки, связанные с реализацией. Архитектурные ошибки. Способы обнаружения ошибок.
Определение Двоичного Дерева Поиска (Binary Search Tree, BST). Свойство упорядоченности двоичного дерева поиска. Способы обхода ДДП. Поиск вершины в ДДП. Поиск вершины с минимальным и максимальным значением ключа.
Особенности организации памяти в Windows. Локальный перехват. Локальный перехват с использованием раздела импорта. Локальный перехват посредством изменения перехватываемой функции (только WinNT). Глобальный перехват.
Техника перехвата вызовов. Подход ATL. Замена указателей в vtbl. Перехватчик с постобработкой. CoGetInterceptor, CoGetInterceptorFromTypeInfo. Прямые/синхронные вызовы. Косвенные и асинхронные/отложенные вызовы.
Что такое «перехват API-функций». Метод 1. Перехват API непосредственной записью в код системной функции.. Метод 2. Перехват API через таблицу импорта.. Внедрение кода в чужой процесс в Windows NT.
Использование интерфейса SCSI. Использование интерфейса SPTI.
Проблемы взаимодействия. Алгоритмы создания VC-совместимой dll и ее использование. Алгоритм с явной загрузкой dll. Алгоритм с неявным связыванием для экспорта (импорта) __cdecl-функций. Использование псевдонимов.
Существует большая неразбериха по поводу установки и использования глобальных хуков.
Что такое ADAM и для чего он нужен? Установка и начальная настройка. Средства администрирования. Работа с ADAM. Понятие раздела. Работа с данными в ADAM. Расширение схемы. Управление пользователями и группами пользователей.
Краткая предыстория. Требования к библиотеке, реализующей механизм Delay load. Предлагаемая реализация библиотеки. Класс, инкапсулирующий работу с модулями. Реализация динамического поиска функций и глобальной таблицы импорта.
Общие особенности служб. Установка/удаление. Отсчёт пошёл…. Кто будет работать?. Корректное завершение. Свальный грех. Интерактивность. Подробности программирования. Отладка. Администрирование. Безопасность. Event Log. Файл сообщений.
Формулировка задачи. Техническое задание. Проектирование. Анализ результатов тестирования.
Постановка задачи. Разработка алгоритма решения задачи преобразования информации. Разработка программы. Руководство оператора.
Алгоритм работы программы. Текст программы. Контрольный пример. Описание работы программы.
Анализ требований. Техническое задание. Описание метода решения. Описание программы. Программа и методика испытаний. Описание применения.