我正在尝试从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打开的键。

08-06 14:38