|
Если этот бит ус-
тановлен в 1 при вызове функции OPEN, то возвращаемая обработка
будет освобождена от наследования.
Существует другой способ, при котором порождающий процесс мо-
жет управлять системным отображением порожденного процесса. Пер-
вый элемент в блоке параметров загрузки и выполнения является
указателем на блок среды порожденного процесса. |
1с бухгалтерия |
|
|
Если указатель в
блоке параметров загрузки и выполнения равен нулю, то для порож-
денного процесса дублируется среда порождающего процесса. Если он
не равен нулю, то в качестве среды порожденного процесса загружа-
ется блок среды, указываемый этим указателем.
Что же это означает для Вас? Это означает, что можно написать
программу поиска блоков среды для отдельных элементов и затем ис-
пользовать эти значения для установки параметров во время выпол-
нения программы. |
symantec antivirus |
|
|
Элементы могут быть вставлены в блок среды сис-
темы по команде SET (установить) для управления действиями
программы, которая читает и действует со своим блоком среды. Так
как порождающий процесс может изменять блок среды, то тем самым
порождающий процесс может изменять поведение порожденного процес-
са, читающего этот блок.
Выполняющийся процесс может осуществлять доступ к своему бло-
ку среды посредством указателя, хранящегося по смещению 2Сh в
PSP. |
программы архиваторы |
|
|
английский словарь, Навигационные системы, офисные программы, avast edition, dr web, .
asplinux 11.2
|
Кроме того, когда процесс загружает-
ся, он автоматически наследует большинство сегментов программого
префикса своей программы, включая таблицу описателей файлов по-
рождающей программы. При манипулировании этими элементами порож-
дающая программа управляет тремя первичными элементами, управляю-
щими программой: ее командной строкой, ее таблицей описателей
файлов и ее блоком среды.
Между командными строками: передаваемой в порожденный про-
цесс, и используемой в приглашениях системы имеются некоторые от-
личия. В первом случае командная строка становится ответственной
порождающего процесса за установку любого переназначения - зада-
чи, обычно обрабатываемой файлом COMMAND.COM. Т.к. порожденный
процесс наследует таблицу описателей файлов порождающего его про-
цесса, то порождающий процесс может легко переназначить ввод/вы-
вод порожденного им процесса. При изменении значений описателей,
хранящихся в устройствах стандартного ввода и вывода stdin и
stdout порождающего процесса, порождающий процесс изменит пред-
шествующие как stdin, stdout, так и любые другие допустимые уст-
ройства порожденного процесса. Порождающий процесс может изменить
их, используя технические приемы, показанные в листинге 3-3 (в
разделе "Таблица описателей файлов PSP"), или путем использования
функций MS-DOS для манипулирования файлами и устройствами. (Одной
из таких функций, которая может быть использована для замены об-
работки, является функция MS-DOS с кодом 46h "Использовать дубли-
кат описателя"- прерывание int 21h).
Заметим, что полная обработка может быть включена из су-
щества наследования. При открытии файла или устройства должен
быть указан режим OPEN (открыть) (Смотри функцию MS-DOS с кодом
3Dh "Открыть файл или устройство" - прерывание int 21h), при этом
бит 7 режима OPEN является битом наследования. При установке это-
го бита в 0 (принимается по умолчанию), обработка должна быть
- 3-50 -
наследуемой с каким-либо порожденным процессом.
|
|
|