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