Блоки и строки окружения

Блоки и строки окружения

Схема, представленная на рис. 6.1, включает блок окружения процесса. Блок окружения (environment block) процесса содержит последовательность строк вида:

Имя = Значение

Каждая строка окружения (environment string), будучи символьной строкой, заканчивается нулевым символом, а весь блок строк в целом завершается дополнительным нулевым символом. Одним из примеров широко используемых переменных среды является переменная PATH. 

Чтобы передать информацию об окружении из родительского процесса в дочерний, параметр lpEnvironment при вызове функции CreateProcess следует установить равным NULL. В свою очередь, любой процесс может запросить или изменить свои переменные окружения или добавить новые в блок окружения.

Для получения, а также создания новых или изменения существующих переменных окружения используются следующие функции: 

DWORD GetEnvironmentVariable(LPCTSTR lpName, LPTSTR lpValue, DWORD cchValue)

BOOL SetEnvironmentVariable(LPCTSTR lpName, LPCTSTR lpValue) 

lpName — указатель на строку, содержащую имя переменной окружения. После определения переменной окружения она добавляется в блок окружения при условии, что такая переменная ранее не существовала, а определяемое значение не равно NULL. Если же определяемое значение равно NULL, то переменная удаляется из блока. Строка значения не может содержать символы "=".

В случае успешного завершения функция GetEnvironmentVariable возвращает длину строки значения переменной окружения, иначе — 0. Если размер буфера lpValue, указанный значением параметра cchValue, оказался недостаточно большим, то возвращаемое значение равно количеству символов, которое фактически требуется для сохранения значения переменной. Вспомните, что аналогичный механизм используется и в функции GetCurrentDirectory (глава 2).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

СЕЛО ЩЕПЕТНЕВКА: Из окружения

Из книги Журнал «Компьютерра» №25-26 от 12 июля 2005 года автора Журнал «Компьютерра»

СЕЛО ЩЕПЕТНЕВКА: Из окружения Живу я в центре города. Или почти в центре, как считать. С Главным Памятником Вождю разделяет меня получас неспешной ходьбы, с почтамтом - десять минут, с вокзалом - пять, а с диваном в своей квартире ни секунды не разделяет.Но в этом центре


8.8. Настройка окружения пользователя

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

8.8. Настройка окружения пользователя Как вы уже знаете, при входе любого пользователя в систему для него запускается особый экземпляр оболочки - login shell. В процессе запуска в качестве login shell bash ищет следующие файлы: • /etc/profile • ~/.bash_profile • ~/.bash_login • ~/.profile (в указанном порядке)


10.4. Переменные окружения

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

10.4. Переменные окружения Когда запускается какая-либо Unix-программа, доступная ей среда включает в себя набор связей "имя-значение" (как имена, так и значения являются строками). Некоторые из них устанавливаются пользователем вручную, другие — системой во время


10.4.1. Системные переменные окружения

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

10.4.1. Системные переменные окружения Существует множество широко известных переменных окружения, значения которых программа может получить при запуске из оболочки Unix. Данные переменные (особенно НОМЕ) часто требуется оценить до считывания локального файла


10.4.2. Пользовательские переменные окружения

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

10.4.2. Пользовательские переменные окружения Несмотря на то, что приложения могут свободно интерпретировать переменные окружения за пределами определенного системой набора, в настоящее время фактическое использование такой возможности является довольно необычным.


10.4. Переменные окружения

Из книги Справочник по PHP автора

10.4. Переменные окружения Когда запускается какая-либо Unix-программа, доступная ей среда включает в себя набор связей "имя-значение" (как имена, так и значения являются строками). Некоторые из них устанавливаются пользователем вручную, другие — системой во время


10.4.1. Системные переменные окружения

Из книги Компьютерные советы (сборник статей) автора Автор неизвестен

10.4.1. Системные переменные окружения Существует множество широко известных переменных окружения, значения которых программа может получить при запуске из оболочки Unix. Данные переменные (особенно НОМЕ) часто требуется оценить до считывания локального файла


10.4.2. Пользовательские переменные окружения

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

10.4.2. Пользовательские переменные окружения Несмотря на то, что приложения могут свободно интерпретировать переменные окружения за пределами определенного системой набора, в настоящее время фактическое использование такой возможности является довольно необычным.


14.4. Переменные окружения

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

14.4. Переменные окружения Иногда необходимо обращаться к переменным окружения, которые являются связующим звеном между программой и внешним миром. Переменные окружения — это просто метки, связанные с некоторым текстом (обычно небольшим); в них хранятся, например, пути к


Переменные окружения

Из книги Linux программирование в примерах автора Роббинс Арнольд

Переменные окружения Переменные окружения в PHPНепосредственно перед запуском сценария сервер передает ему некие переменные окружения с информацией. В определенных переменных содержаться некоторые заголовки, но не все (получить все заголовки нельзя). Далее я приведу


Как работают блоки питания персональных компьютеров? Какие блоки питания бывают?

Из книги Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013 автора Федорчук Алексей Викторович

Как работают блоки питания персональных компьютеров? Какие блоки питания бывают? http://pc-doc.spb.ru/atx.html Блок питания — жизненно важная часть компьютера, без которой его функционирование невозможно. Лишенный блока питания компьютер — всего лишь мертвая коробка, наполненная


22.3.3. Переменные окружения

Из книги автора

22.3.3. Переменные окружения В программах, работающих с возможностями setuid или setgid, нужно проявлять особую осторожность с установками окружения. Эти переменные определяются пользователем, активизировавшим программу, тем самым открывается путь для атак. Самая явная атака


Переменные окружения

Из книги автора

Переменные окружения Переменные окружения - глобальные установки системы, которые используются при первоначальной загрузке операционной системы. В Windows, Linux и в большинстве систем UNIX сервер Firebird распознает и использует некоторые переменные окружения, если они


Где устанавливаются переменные окружения

Из книги автора

Где устанавливаются переменные окружения WindowsТип переменных окружения и способ их установки меняется от одной версии Windows к другой. В табл. 3.1 показаны типы (если применимы) и способы установки значений переменным окружения.Таблица 3.1. Установки переменных окружения для


Настройка окружения администратора

Из книги автора

Настройка окружения администратора Таким образом, мы привели внешний вид рабочего стола в приемлемое состояние. Однако не следует этим ограничиваться: нам предстоят ещё некоторые действия, которые надо будет выполнить от имени администратора, а на его окружение