什么是PE中的“隔离图像”属性?

如果我查看一个可移植可执行文件的内部,在IMAGE_OPTIONAL_HEADER部分有IMAGE_DLLCHARACTERISTICS_NO_ISOLATION字段,正如Microsoft 在这里提到的那样,它意味着:“图像是隔离感知的,但不应该被隔离。 但是,我不明白是什么意思,或者暗示在这里,不能find更多的信息。 此选项也作为Visual Studio选项存在,并且在创buildWin32应用程序项目时默认启用(VS 2015 C ++)。 我想知道它是如何做的代码生成之前,我启用它。

如果有人知道,请分享。 提前致谢。

它控制加载进程时Windows加载器是否查找清单 :

/ALLOWISOLATION会导致操作系统执行清单查找和加载。

/ALLOWISOLATION是默认值。

/ALLOWISOLATION:NO表示可执行文件被加载,就好像没有清单一样,并且导致EDITBIN Reference在可选的头文件的DllCharacteristics字段中设置IMAGE_DLLCHARACTERISTICS_NO_ISOLATION位。 为可执行文件禁用隔离时,Windows加载程序不会尝试为新创建的进程查找应用程序清单。 新进程没有默认的激活上下文,即使在可执行文件本身存在清单,或者存在具有名称executable-name.exe.manifest

https://msdn.microsoft.com/en-us/library/69xzf91x.aspx