OSBOOLEAN set_envp(PROCESS pid, char *name, OSADDRESS value);
Функция сохраняет 32-битный адрес в именованную переменную окружения.
Функция возвращает ненулевое значение, если вызов успешен. В случае ошибки возвращается ноль.
Сохранять нулевой указатель не имеет смысла, потому что впоследствии его будет невозможно нормально прочесть. Если длина имени переменной больше, чем размер буфера сигнала, переменная не будет установлена. Вызов может включить прерывания, если они были выключены.
int proc_data = 0xCAFE; set_envp(0, "pd", (OSADDRESS)&proc_data); OSADDRESS pa; pa = get_envp(0, "pd");