Что происходит при успешном открытии объекта-устройства
(неважно, с помощью какой функции: CreateFile() или NtCreateFile()? Для описания
состояния работы с каждым объектом, открытым с помощью этих функций, создается
новый экземпляр объекта-файла. Именно отсюда
название функции - CreateFile.
С точки зрения прикладного уровня ОС функции открытия файла могут применяться
для открытия файлов, устройств, именованных каналов, почтовых слотов и т.п.
Однако, с точки зрения ядра ОС, объекта-файла (в смысле файл на жестком Диске)
не существует, как не существует объектов именованный канал или почтовый слот. В
действительности объект-файл будет связан с некоторым объектом-устройством, для
которого имеет смысл, допустим, понятие «файл» (в смысле файл файловой системы).
Соответственно, каждая операция ввода/вывода на прикладном уровне будет
производиться с некоторым объектом-файлом. Причем конкретный объект будет указан
не напрямую, а через так называемый описатель
(HANDLE), возвращаемый как результат работы функции CreateFile().
Важно отметить, что каждый процесс имеет свою собственную таблицу описателей,
обеспечивая уникальность описателей только в рамках своей таблицы. Это означает,
например, что для двух процессов - А и В - описателю со значением 1 будут в
общем случае соответствовать два различных объекта-файла (см. рис. 8). Кроме
того, ОС поддерживает механизм наследования описателей. В этом случае два разных
процесса через два разных описателя будут разделять один и тот же объект-файл.

Рис. 8
Практически уникальность описателя только в контексте данного
процесса означает невозможность использования описателя драйвером при работе в
случайном контексте. Описатель обязательно должен быть переведен в указатель на
объект посредством вызова функции диспетчера объектов ObReferenceObjectBy-Handle().
В наше время многие пользователи Интернета превращаются в его строителей.
Насмотревшись на чужие сайты, простой интернетчик начинает задумываться и о
собственном "офисе" в этом мегаполисе. Но как? В какой программе? На каком языке? Именно на последний вопрос даёт развёрнутый ответ эта статья. А поскольку Вы её читаете, то видимо тоже заинтересованы в создании своего
сайта.
Обзор Google Chrome : Впечатления очевидца.
Полный обзор Google Chrome Beta с точки зрения придирчивого программиста.
Google Chrome, Браузер, Beta
Огнеслав