Том 2
ВВЕДЕНИЕ
1. УПРАВЛЕНИЕ ПАМЯТЬЮ
Немного истории
Управление памятью в MS-DOS (10).
Управление памятью в Microsoft
Windows версии 3.1 (12).
Виртуальная память в Microsoft Windows NT
(19)
Несегментированная модель памяти FLAT
(20).
Изолированные адресные
пространства (21).
Дескрипторы страниц памяти
(22).
Состояние страниц памяти
(23).
Функции для работы с виртуальной памятью..
24
Получение виртуальной памяти (24).
Освобождение виртуальной
памяти (27).
Три состояния страниц виртуальной памяти
(27).
Фиксирование страниц виртуальной памяти
(28).
Изменение типа разрешенного доступа для
страниц памяти (29).
Получение информации об использовании
виртуальной памяти (30).
Приложение VIRTUAL
Исходные тексты приложения (35).
Работа с пулами памяти (52)
Старые функции управления памятью (57).
Приложение НЕАРМЕМ(59)
Исходный текст приложения (59).
2. МУЛЬТИЗАДАЧНОСТЬ
Процессы и задачи в Microsoft Windows NT(
68)
Распределение времени между задачами
(68).
Проблемы синхронизации задач и процессов
(73).
Передача данных между процессами и
задачами (73).
Запуск задач
Фикция CreateThread (74). Функция
_beginthrcad (76).
Функция _beginthreadcx (78).
Управление запущенными задачами
Изменение приоритета задачи (79).
Определение приоритета задачи (80).
Приостановка и возобновление выполнения
задачи (80).
Временная приостановка работы задачи
(81).
Завершение задачи (81). Освобождение
идентификатора задачи (82).
Приложение MultiSDI (82)
Исходные тексты приложения (83). Описание
функций (94).
Приложение MultiMDI (98)
Исходные тексты приложения (100).
Определения и глобальные переменные
(119).
Описание функций приложения (120).
3. ПРОЦЕССЫ
Запуск процесса
Параметры функции CreateProcess (128).
Завершение процесса
Приложение PSTART
Исходные тексты приложения (138).
Определения и глобальные переменные
(149).
Описание функций (149).
4. СИНХРОНИЗАЦИЯ ЗАДАЧ
Легко ли ждать
Ожидание завершения задачи или процесса
(155).
Ожидание завершения нескольких задач или
процессов (158).
Синхронизация задач с помощью событий
Создание события (161).
Открытие события (162).
Установка события (163).
Сброс события (163).
Функция PulseEvent (164).
Приложения EVENT и EVENTGEN
Исходные тексты приложения EVENT (165).
Исходные тексты приложения EVENTGEN
(169).
Последовательный доступ к ресурсам
Критические секции (174).
Объекты Mutex (178).
Блокирующие функции (181).
Приложение MutexSDI
Синхронизация с использованием семафоров
Как работает семафор (19S).
Функции для работы с семафорами (199).
Приложение SEMMDI
Исходные тексты приложения (204).
Определения и глобальные переменные
(223).
Описание функций приложения (223).
5. РАБОТА С ФАЙЛАМИ
Преимущества файловой системы NTFS
Операционная система MS-DOS и файловая
система FAT (229).
Операционная система Microsoft Windows
версии 3.1 (230).
Операционная система Microsoft Windows
rorWoricgroups (230).
Операционная система Microsoft Windows 95
(231).
Файловая система HPFS (232).
Основные характеристики файловой системы
NTFS (233).
Функции для работы с файлами
Универсальная функция CreateFile (235).
Функция CloseHandle (238).
Функции ReadFile и WriteFile (238).
Функция FlushFileBuflers (240).
Функ-ция SetFilePointer (240).
Функция SetEndOfFile (242).
Функции LockFile иUntockFile (242).
Атрибуты файла
Размер файла (244).
Набор флагов файла (244).
Отметки времени для файла (245).
Получение информации о файле по его
идентификатору (247).
Асинхронные операции с файлами
Еще несколько операций с файлами
Копирование файла (252).
Перемещение файла (252).
Удаление файла (253).
Работа с каталогами
Определение текущего каталога (253).
Определение системного каталога (254).
Определение каталога Microsoft Windows NT
(254).
Изменение текущего каталога (254).
Создание каталога (254).
Удаление каталога (255).
Изменение имени каталога (255).
Просмотр содержимого каталога (255).
Извещения от файловой системы
Информация о файловой системе
Определение количества дисковых устройств
в системе (259).
Определение типа устройства (259).
Определение параметров логического
устройства (260).
Изменение метки тома (262).
Прямое управление дисковым устройством
Том 27
1. СНОВА О ФАЙЛАХ
Файлы, отображаемые на память
Создание отображения файла
Выполнение отображения файла в память
Открывание отображения
Отмена отображения файла
Принудительная запись измененных данных
Приложение Oem2Char
Исходные тексты приложения
Определения и глобальные переменные
Описание функций
Приложение Diskinfo
Исходные тексты приложения
Определения и глобальные переменные
Описание функций
2. ПЕРЕДАЧА ДАННЫХ МЕЖДУ ПРОЦЕССАМИ
Обмен через файлы, отображаемые на память
Приложение Fmap/Server
Приложение Fmap/Client
Передача сообщений между приложениями
Приложение RCLOCK
Приложение STIME
Каналы передачи данных Pipe
Именованные и анонимные каналы
Имена каналов
Реализации каналов
Функции для работы с каналами
Примеры приложений
Каналы передачи данных MaiJslot
Создание канала Mailsiot
Открытие канала Mailsiot
Запись сообщений в канал Mailsiot
Чтение сообщений из канала Mailsiot
Определение состояния канала Mailsiot
Изменение состояния канала Maillot
Примеры приложений
3. БИБЛИОТЕКИ ДИНАМИЧЕСКОЙ КОМПОНОВКИ
Статическая и динамическая компоновка
DLL-библиотеки в операционной системе
Windows NT
Отображение страниц DLL-библиотеки
Обмен данными между приложениями через
DLL-библиотеку
Как работает DLL-библиотека
Инициализация DLL-библиотеки в среде
Microsoft Windows NT
Экспортирование функций и глобальных
переменных
Импортирование функций
Файл определения модуля для
DLL-библиотеки
Анализ DLL-библиотек при помощи программы
dumpbin.exe
Исходные тексты DLL-библиотеки DLLDEMO
Приложение DLLCALL
Глобальные переменные и определения
Функция WinMain
Функция WndProc
Функция WndProc_OnDestroy
Функция WndProc_OnCommand
Функция DIgProc
Функция DIgProcJDnInitDialog
Функция DlgProc_OnCommand
4. НАЦИОНАЛЬНЫЕ ПАРАМЕТРЫ
Наборы национальных параметров
Установка набора национальных параметров
Определение национального набора
параметров
Определение отдельных национальных
параметров
Форматное преобразование даты и времени
Преобразование времени
Преобразование даты
Изменение раскладки клавиатуры
Получение списка установленных раскладок
Определение названия текущей раскладки
клавиатуры
Определение идентификатора раскладки
клавиатуры для задачи.
Загрузка раскладки клавиатуры
Выгрузка раскладки клавиатуры
Переключение раскладки клавиатуры
Приложение SETLOCAL
Исходные тексты приложения SETLOCAL
Описание функций
5. СЕРВИСНЫЕ ПРОЦЕССЫ
Создание сервисного процесса
Функция main сервисного процесса
Точка входа сервиса
Функция обработки команд
Состояние сервиса
Управление сервисами
Получение идентификатора системы
управления сервисами
Установка сервиса
Получение идентификатора сервиса
Выдача команд сервису
Удаление сервиса из системы
Запуск сервиса
Остановка сервиса
Определение конфигурации сервиса
Приложение SRVCTRL
Исходный текст сервиса
Исходные тексты приложения SRVCTRL