Всем доброе время суток. Цитата из Рихтера: "Создание объекта ядра Когда процесс инициализируется в первый paз, таблица описателей еще пуста. Но стоит одному из его потоков вызвать функцию, создающую объект ядра (например, CreateFtleMapping), как ядро выделяет для этого объекта блок памяти и инициализирует его, далее ядро просматривает таблицу описателей, принадлежащую данному процессу, и отыскивает свободную запись. Поскольку таблица еще пуста, ядро обнаруживает структуру с индексом 1 и инициализирует ее." Поскольку и процесс и поток сами являются объектами ядра, то почему индекс здесь равен 1? Разве в таблице описателей не хранятся описатели вышеуказанных объектов?
В таблице храняться только хэндлы открытые данным процессом. Если же процесс не открывает сам себя, то откуда взяться хэедлам процесса и потока? Наличие обьекта ядра еще не означает, что на него обязательно должен указывать какой-либо хендл.