【问题标题】:Kernel driver check if memory is mapped (BugCheck 0xC2)内核驱动程序检查内存是否已映射 (BugCheck 0xC2)
【发布时间】:2012-06-14 18:06:13
【问题描述】:

这似乎是一个简单的问题,但我找不到优雅的解决方案。我已将驱动程序追溯到对 MmUnmapIoSpace 的调用,该调用会生成 BugCheck 0xC2 {7,,,} 消息。

在调用MmUnmapIoSpace 之前,有没有办法测试特定区域是否映射到 Windows 驱动程序中?我检查了指针是否为NULL,但它似乎不起作用。

我似乎没有看到任何记录/未记录的函数来测试对 MmUnmapIoSpace 的调用是否会产生 0xC2 错误检查。

有什么万无一失的方法来测试这个而无需持有一堆布尔值或类似的东西?

【问题讨论】:

  • Bugcheck 0xc2(7......) 意味着线程释放了已经释放的内存。可能你用错误的参数调用这个例程。
  • 我知道,我也知道参数是正确的。

标签: windows device-driver kernel bsod


【解决方案1】:

不,没有要检查的功能。相反,我只是将指针包装在一个结构中,该结构包含一个布尔值,指示它是否已经被映射。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 2016-06-22
    • 2016-02-12
    • 2018-04-01
    相关资源
    最近更新 更多