首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在驱动程序模式下获取64位值fromRegistry

在驱动程序模式下获取64位值fromRegistry
EN

Stack Overflow用户
提问于 2014-06-17 23:39:15
回答 1查看 208关注 0票数 0

如何在驱动程序模式下获取64位值fromRegistry。我能得到的32位值(REG_DWORD)。但是64位值(REG_QWORD)不能。这里有一个代码:

代码语言:javascript
运行
复制
RTL_QUERY_REGISTRY_TABLE parameters[2];
RtlZeroMemory(parameters, sizeof(parameters));

parameters[0].Flags = RTL_QUERY_REGISTRY_DIRECT;
parameters[0].Name = L"MaxTotalSize";
parameters[0].EntryContext = &Globals.g_MaxTotalSize;
parameters[0].DefaultType = REG_DWORD;  //But REG_QWORD doesn't work, what i must to write?
parameters[0].DefaultData = &Globals.g_MaxTotalSize;
parameters[0].DefaultLength = 4;        //And here what I must to write?

status = RtlQueryRegistryValues(
        RTL_REGISTRY_ABSOLUTE | RTL_REGISTRY_OPTIONAL,
        RegistryPath->Buffer,
        parameters,
        NULL,
        NULL
        );
EN

回答 1

Stack Overflow用户

发布于 2014-06-23 20:04:58

这里我尝试从注册表中获取64位的值:

代码语言:javascript
运行
复制
RTL_QUERY_REGISTRY_TABLE parameters[2];
RtlZeroMemory(parameters, sizeof(parameters));

parameters[0].Flags = RTL_QUERY_REGISTRY_DIRECT;
parameters[0].Name = L"MaxTotalSize";
parameters[0].EntryContext = &Globals.g_MaxTotalSize;
parameters[0].DefaultType = REG_QWORD;  
parameters[0].DefaultData = &Globals.g_MaxTotalSize;
parameters[0].DefaultLength = 8;        

status = RtlQueryRegistryValues(
        RTL_REGISTRY_ABSOLUTE | RTL_REGISTRY_OPTIONAL,
        RegistryPath->Buffer,
        parameters,
        NULL,
        NULL
        );

Globals.g_MaxTotalSize具有ULONGLONG类型

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24267976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档