Недокументированные возможности Windows NT

М.: Нолидж, 1998. - 288 с.; ил.
Книга рассчитана на программистов-профессионалов, имеющих опыт в написании программ с использованием интерфейса Win32 и знающих в общих чертах архитектуру Windows NT. Большинство из них наверняка оценят то, какое большое количество информации об объектах операционной системы можно извлечь, используя приведенные в издании функции и структуры. Кроме того, знание недокументированных функций полезно само по себе, поскольку любая из них в следующей версии Windows NT может стать документированной.

Вводная глава книги знакомит с основными семействами функций NTDLL.DLL и некоторыми аспектами их реализации, а также показывает, какие действия необходимо проделать тем, кто хочет понять все рассуждения автора.

Вторая глава посвящена дереву объектов Windows NT. Она знакомит с объектами "каталог" и "символическая связь", недоступными через интерфейс Win32. В ней также описаны функции, позволяющие сканировать дерево объектов. Приведен пример создания нового каталога дерева объекта.

Затем автор знакомит со всеми способами синхронизации выполнения потоков, имеющимися в Windows NT. Он приводит функции и структуры для получения такой информации о состоянии синхронизирующих объектов ("событий", "семафоров" и др.), которую невозможно получить через Win32. Описывает способ синхронизации потоков через "оповещения", не требующий использования каких-либо объектов.

В главе, обсуждающей операции ввода-вывода, приведены все возможные варианты асинхронного ввода-вывода для устройств каталогов и файлов. Рассмотрены структуры и функции для получения различной информации о файлах, которая недоступна через Win32, в частности, получение по описателю файла его имени и режима доступа - синхронный или асинхронный.

Виртуальная память, "кучи" и "секции" (файлы, отображенные в память) рассматриваются в пятой главе. Приведены некоторые недокументированные функции для работы с кучами из интерфейса Win32. Изучаются структуры и функции для получения информации о секциях. Показана возможность получения доступа к физической памяти из программы пользователя без применения каких-либо драйверов.

Приведенный в книге набор функций вполне естественно можно назвать "родным" API операционной системы Windows NT. Этот API пригоден как для помощи при отладке программ, написанных с использованием Win32, так и для написания самостоятельных программ, в том числе запускаемых при старте системы (так называемые BootExecute-программы). Несколько таких простейших программ приведены в шестой главе. Здесь же описаны основные структуры каждого приложения, выполняющегося под Windows NT, - блок окружения потока, блок окружения процесса и блок параметров процесса.

Седьмая глава знакомит читателя с корневым ключом реестра Windows NT и показывает способ создания ключа реестра, невидимого для функций Win32 и редактора реестра.

В завершающем разделе рассматриваются некоторые средства распределенных вычислений - "именованные каналы", "почтовые ящики" и "сокеты". Приведены структуры и функции для получения информации об именованных каналах, недоступной через Win32. Показана возможность прямого обращения к интерфейсу драйвера транспорта (TDI) из программ режима пользователя.

Приложения описывают структуры и функции для получения различной информации о системе в целом и любом объекте в ней (например, имени и типа любого объекта в системе).
Подготовила Вероника Полякова


Компьютерная газета. Статья была опубликована в номере 43 за 1998 год в рубрике литература :: Windows

©1997-2024 Компьютерная газета