Windows 64 位操作系统 Wow64DisableWow64FsRedirection 函数说明

这个函数常用于解决在 64 位操作系统中,32 位程序访问注册表重定向到 WOW6432Note 里的问题

使用这个函数后可重定向访问到正确的 64 位注册项。

 

第一次翻译,有问题或者理解有误请指出

 

Wow64DisableWow64FsRedirection 函数

调用时禁用文件系统重定向。默认情况下启用文件系统重定向。

 

语法

C++

 

BOOL Wow64DisableWow64FsRedirection(
  PVOID *OldValue
);

 


参数

OldValue[out]

 

 

存储 WOW64 文件系统重定向的值。系统使用此参数存储必要的信息以恢复(启用)文件系统重定向。

注意:这个参数仅用于系统。为了避免意外的后果,无论如何请不要修改此参数。

 

返回值

如果此函数执行成功,将返回一个非 0(Zero)的值。

如果此函数执行失败,将返回 0(Zero)。需要获得详细的错误信息,请调用 GetLastError

 

备注

此函数适用于 64 位操作系统中 32 位程序需要访问本机 system32 文件夹。默认情况下,WOW64 文件系统重定向是启用的。

Wow64DisableWow64FsRedirection 和 Wow64RevertWow64FsRedirection 函数结合使用可以代替 Wow64EnableWow64FsRedirection 函数。

需要还原文件系统重定向,调用 Wow64RevertWow64FsRedirection 函数。每当成功调用 Wow64DisableWow64FsRedirection 函数后必须结合调用 Wow64RevertWow64FsRedirection 函数。这将确保重定向功能重新启用并释放相关的系统资源。

注意  Wow64DisableWow64FsRedirection 函数会影响所有当前线程执行的文件操作,当文件系统重定向禁用一段时间后可能会发生意想不到的后果。例如,加载的 DLL 依赖于文件系统重定向,所以禁用文件系统重定向将引起 DLL 加载失败。并且,一些使用延迟加载实现的功能当重定向被禁用时会失败。初始化延迟加载时失败,任何使用延迟加载的函数将会失败,即使重新开启文件系统重定向。为了避免这些问题,禁用文件系统重定向之前调用特定的文件输入输出函数(例如 CreateFile)不能被重定向,并且重新启动文件系统重定向之后需立即使用 Wow64RevertWow64FsRedirection

禁用文件系统重定向只影响当前线程的操作。一些函数,例如 CreateProcessAsUser他们在另一个线程运作,而不受调用禁用文件系统重定向线程的影响。

在 Windows 8 和 Windows Server 2012,这个函数由以下技术支持。

 

技术是否支持

服务器信息块 (SMB) 3.0 协议

SMB 3.0 显性故障转移 (TFO)

SMB 3.0 扩展文件共享 (SO)

 

群集共享卷文件系统 (CsvFS)

 

弹性文件系统 (ReFS)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值