Моя ОС - Win7 x64.У меня есть два EXE-файла с именем ComHost.exe и ClientApp.exe.
ComHost.exe - это отдельный exe-файл, а также COM-хост для внепроцессного COM.
ClientApp.exe создает экземпляр COM, вызывая CoCreateInstance (...).При создании экземпляра COM запускается процесс ComHost.exe.
В переменных среды Windows есть переменная "AppStatus = status1".
В реализации ClientApp.exeкод такой:
int ret = putenv("AppStatus=status2"); // Change the environment variable.
// do something
CoCreateInstance(...); // Start ComHost.exe
В реализации ComHost.exe я получаю значение viriable с кодом
char * pStatus = getenv("AppStatus");
Случай 1 : если запуститьComHost.exe, дважды щелкнув по нему, значение pStatus «status1».
Случай 2 : если запустить ComHost.exe в ClientApp.exe, значение pStatus равно «status2».Он наследует переменные окружения родительского процесса ClientApp.exe.
Мой вопрос:
Я хочу, чтобы ComHost.exe всегда считывал значение переменной, определяемое ОС, а незначение, унаследованное от процесса parent .Это означает, что в случае 2 я хочу получить значение «status1».Возможно ли это?