我试图从32位进程获取64位注册表项的DACL信息。
AtlGetDacl("Machine\Software\Somekey", SE_REGISTRY_KEY, &dacl)
这会重定向到“Machine \ Software \ Wow6432Node \ Somekey”,因为我正在运行32位进程。
我需要的是像Windows注册表功能(如RegOpenKeyEx)中可用的samDesired标志,你知道ATL是否有这样的东西以及如何将它传递给ATLGetDacl和ATLSetDacl?
感谢。
答案 0 :(得分:3)
AtlGetDacl
的另一个重载可以将注册表项作为参数。
inline bool AtlGetDacl(
_In_ HANDLE hObject,
_In_ SE_OBJECT_TYPE ObjectType,
_Inout_ CDacl *pDacl) throw(...)
您可以将它用于您已知道如何使用RegOpenKeyEx
打开的密钥。