ATLGetDacl 从 32 位进程访问 64 位注册表键
ATLGetDacl accessing 64bit reg keys from a 32bit process
我正在尝试从 32 位进程获取 64 位注册表项的 DACL 信息。
AtlGetDacl("Machine\Software\Somekey", SE_REGISTRY_KEY, &dacl)
这会重定向到 "Machine\Software\Wow6432Node\Somekey",因为我是 运行 一个 32 位进程。
我需要的是 Windows 注册表函数(如 RegOpenKeyEx)中可用的类似 samDesired 标志的东西,您知道 ATL 是否有这样的东西以及我如何将其传递给 ATLGetDacl 和 ATLSetDacl?
谢谢。
AtlGetDacl
的另一个重载可以将注册表项作为参数。
inline bool AtlGetDacl(
_In_ HANDLE hObject,
_In_ SE_OBJECT_TYPE ObjectType,
_Inout_ CDacl *pDacl) throw(...)
您可以将它用于您已经知道如何使用 RegOpenKeyEx
打开的密钥。
我正在尝试从 32 位进程获取 64 位注册表项的 DACL 信息。
AtlGetDacl("Machine\Software\Somekey", SE_REGISTRY_KEY, &dacl)
这会重定向到 "Machine\Software\Wow6432Node\Somekey",因为我是 运行 一个 32 位进程。
我需要的是 Windows 注册表函数(如 RegOpenKeyEx)中可用的类似 samDesired 标志的东西,您知道 ATL 是否有这样的东西以及我如何将其传递给 ATLGetDacl 和 ATLSetDacl?
谢谢。
AtlGetDacl
的另一个重载可以将注册表项作为参数。
inline bool AtlGetDacl(
_In_ HANDLE hObject,
_In_ SE_OBJECT_TYPE ObjectType,
_Inout_ CDacl *pDacl) throw(...)
您可以将它用于您已经知道如何使用 RegOpenKeyEx
打开的密钥。