Наследование дескриптора


Дочерний процесс может наследовать дескрипторы своего родительского процесса. Унаследованный дескриптор правилен только применительно к дочернему процессу. Чтобы дать возможность дочернему процессу наследовать открытые дескрипторы его родительского процесса, используйте нижеследующие шаги.

  1. Создайте дескриптор при помощи установки члена bInheritHandle структуры SECURITY_ATTRIBUTES в значение ИСТИНА (TRUE).
  2. Создайте дочерний процесс, используя функцию CreateProcess, с установкой параметра bInheritHandles в значение ИСТИНА (TRUE).

Функция DuplicateHandle дублирует дескриптор, который будет использован в текущем процессе или в другом процессе. Если приложение дублирует один из своих дескрипторов для другого процесса, продублированный дескриптор правилен только применительно к другому процессу.

Дублированный или унаследованный дескриптор - это уникальное значение, но он относится к тому же самому объекту, как и исходный дескриптор. Процессы могут наследовать или делать копию дескрипторов для следующих типов объектов:

Все другие объекты являющиеся частными для процесса, который их создавал; их дескрипторы объекта не могут быть продублированы или унаследованы.

Более подробную информацию смотри в статье Наследование.

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz