windows系统中的两类重定向说明

来源:互联网 发布:青云志网络总播放量 编辑:程序博客网 时间:2024/06/03 07:44

windows系统中常见两种重定向,作为开发人员有必要了解一下。重定向不仅包含文件系统中的重定向,还包括注册表中的重定向。

1、没有管理员权限的重定向

        在vista及以上的系统中,以标准权限运行的程序(非管理员权限),当向系统盘C盘根目录、C:\Program Files和C:\Windows等系统目录写文件或创建文件时,是没有权限的,但系统为了兼容xp上的老的程序,也让其能操作成功,是通过重定向到当前用户的VirtualStore路径中来实现的。文件均生成在这个VirtualStore路径下。仅仅是针对没有管理员权限的程序,对于有管理员权限的程序,对这些目录是有写权限的,就不会进行重定向了。详细阐述,可以参见:

win7用户帐户控制数据重定向:http://blog.csdn.net/chenlycly/article/details/53408212。

2、32位程序在64位系统中运行的重定向

        因为64位程序不能调用32位的库,32位程序不能调用64位的库(当然这只是一方面原因),所以64位系统需要将32位程序和64位程序区别开来。32位程序用C:\Program Files(X86)、C:\Windows\SysWOW64目录,64位程序对应C:\Program Files、C:\Windows\System32目录。32程序在访问HKEY_LOCAL_MACHINE\SOFTWARE注册表目录时,会被重定向到HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node目录中。详细阐述,可以参见:

关于32位程序在64位系统下运行中需要注意的重定向问题:http://blog.csdn.net/chenlycly/article/details/53119127。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

那哪些情况下会涉及到上述的重定向问题呢?

        比如文件传输的传文件时将文件保存到系统目录中会遇到,标准权限运行的程序在写注册表时会遇到,32位程序在64位系统中运行会遇到,根据函数返回得知操作已经执行成功了,但是在目标路径中找不到目标文件或目标项。

0 0
原创粉丝点击