einscofield
驱动牛犊
驱动牛犊
  • 注册日期2008-03-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望62点
  • 贡献值1点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1370回复:1

passthru中调用注册表读取蓝屏

楼主#
更多 发布于:2013-05-20 14:34
在passthru的MPSend函数里的调用AnalysisPacket,这个AnalysisPacket里,读取我需要过滤的IP的注册表,但是蓝屏了。
蓝屏错误码是0x00000005  invalid_process_attach_attempt
添加的这个函数代码如下

// 读取指定的键值
NTSTATUS QueryRegistryValue(WCHAR* KeyName,PUNICODE_STRING KeyValue)
{
    NTSTATUS status;
    RTL_QUERY_REGISTRY_TABLE paramTable[2];
    // 读取Registry中的键值,必须要有一个RTL_QUERY_REGISTRY_TABLE结构的阵列,
    //每一个要读的键值项目占一个阵列元素。最后要加一个空的阵列元素。
    //所以如果要读取2个键值则阵列大小不应该小于3。我们这里要读一个元素,阵列大小为2,当然3、4...都可以。
    RtlZeroMemory(paramTable, sizeof(paramTable));
    paramTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT;
    paramTable[0].Name = KeyName;
    paramTable[0].DefaultType = REG_SZ;
    paramTable[0].EntryContext = KeyValue;
    status = RtlQueryRegistryValues(RTL_REGISTRY_ABSOLUTE, L"\\Registry\\Machine\\Software\\ndis_filter", paramTable, NULL, NULL);
    return status;
}

iihacker
论坛版主
论坛版主
  • 注册日期2010-01-07
  • 最后登录2017-08-16
  • 粉丝5
  • 关注8
  • 积分377分
  • 威望1941点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2013-05-21 09:25
信息不是很明确,
IRQL: PASSIVE_LEVEL ,注意API需要的环境
NDIS 1群74755180 NDIS 2群182802097 交换机软硬件技术群 187471475 FPGA PCI PCIE 群187471817
游客

返回顶部