ks12345
驱动小牛
驱动小牛
  • 注册日期2006-09-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望223点
  • 贡献值0点
  • 好评度189点
  • 原创分0分
  • 专家分0分
阅读:1213回复:3

Conversion of Predefined Keys

楼主#
更多 发布于:2007-04-18 13:17
Conversion of Predefined Keys
(by ks12345 (Normal user) Apr 18 2007, 04:38 (UTC+8) )
Hi,

I am tring to call some registry service routines in the SSDT directly, like NtCreateKey, NtOpenKey, etc.
But I always need to convert the predefined keys (HKEY_LOCAL_MACHINE)into a absolute key path (\REGISTRY\MACHINE\).
I think there may be a much better method. Could anyone tell me?

Thank you for you attention!


每次调用都要把 HKEY_LOCAL_MACHINE 之类的转换为绝对路径 \REGISTRY\MACHINE\ 等,各位大虾有什么好点的办法木有?

感谢先!

( HKEY_LOCAL_MACHINE 之类的预定义命令貌似不能用与初始化 OBJECT_ATTRIBUTES 的 RootDirectory 字段,每次都返回 STATUS_INVALID_HANDLE)
Thinking
ks12345
驱动小牛
驱动小牛
  • 注册日期2006-09-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望223点
  • 贡献值0点
  • 好评度189点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-04-24 09:47
switch((ULONG)hKey)
    {
    case HKEY_LOCAL_MACHINE:
        lpRoot = L"\\REGISTRY\\MACHINE\\";
        break;
    case HKEY_CURRENT_CONFIG:
        lpRoot = L"\\REGISTRY\\MACHINE\\SYSTEM\\CURRENTCONTROLSET\\HARDWARE PROFILES\\CURRENT\\";
        break;
    case HKEY_USERS:
        lpRoot = L"\\REGISTRY\\USER\\";
        break;
    case HKEY_CLASSES_ROOT:
        lpRoot = L"\\REGISTRY\\MACHINE\\SOFTWARE\\CLASSES\\";
        break;
    default:
        break;
    }

请问下: HKEY_CURRENT_USER 转换的路径是什么?
Thinking
GNiDiA
驱动小牛
驱动小牛
  • 注册日期2006-10-11
  • 最后登录2017-10-09
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2007-04-24 12:15
UserName -> SID ->\\REGISTRY\\USER\\SID
ks12345
驱动小牛
驱动小牛
  • 注册日期2006-09-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望223点
  • 贡献值0点
  • 好评度189点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-04-26 11:59
I've got it! GNiDiA, thank you very much!
Thinking
游客

返回顶部