Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何将数据放入WOW64';是否从NT本机API查看32位注册表?_Windows_Winapi_Registry_Nt Native Api - Fatal编程技术网

Windows 如何将数据放入WOW64';是否从NT本机API查看32位注册表?

Windows 如何将数据放入WOW64';是否从NT本机API查看32位注册表?,windows,winapi,registry,nt-native-api,Windows,Winapi,Registry,Nt Native Api,我有一个应用程序,其中限制我使用NtCreateKey/ZwCreateKey函数。(例如,在驱动程序中)还有另一个我不控制的应用程序,它在WOW64下运行,它从这个注册表项读取一个值 我想设置注册表值,以便此应用程序可以找到它。但是,WOW64是在kernel32中实现的,因此我不能像使用RegOpenKeyEx时那样传递KEY\u WOW64\u 32KEY标志 最简单的方法似乎是在传递给ZwCreateKey的路径中包含Wow6432Node,但是: WOW64定义以下符号链接仅用于与可能

我有一个应用程序,其中限制我使用
NtCreateKey
/
ZwCreateKey
函数。(例如,在驱动程序中)还有另一个我不控制的应用程序,它在WOW64下运行,它从这个注册表项读取一个值

我想设置注册表值,以便此应用程序可以找到它。但是,WOW64是在
kernel32
中实现的,因此我不能像使用
RegOpenKeyEx
时那样传递
KEY\u WOW64\u 32KEY
标志

最简单的方法似乎是在传递给
ZwCreateKey
的路径中包含
Wow6432Node
,但是:

WOW64定义以下符号链接仅用于与可能使用包含
Wow6432Node
的硬编码注册表项路径的现有应用程序兼容。新应用程序应避免在注册表项路径中使用Wow6432Node


这似乎让我进退两难。。。如何在32位注册表视图中放置数据?MSDN语言说“避免”——这是一种不可避免的情况吗?

在这种情况下使用
Wow6432Node
对我来说似乎没问题。@JonathanPotter:我想是的,但我尽量避免做MSDN说不可能做的事情。我认为你不可能得到一个用户模式进程来代表你更改注册表?@Harry:没有。IPC是一堆我不想打开的蠕虫。再看一遍,我认为这是一个转发兼容性问题——也就是说,不使用Wow6432Node的唯一原因是它可能在未来的Windows版本中不起作用——而且设备驱动程序永远不能保证是转发兼容的。所以我不会太担心。