我从用户空间读取地址并使用 RtlCopyMemory() 将数据复制到我的输出缓冲区,虽然我可以正常工作,但它缺乏任何安全防范措施来防止读取无效地址,这会在我的脸上抛出错误检查。
我知道我需要使用 SEH 来执行此操作,但我不确定我需要处理哪些异常,或者 RtlCopyMemory 是否会引发任何异常。如果不是,我如何在将地址传递给 RtlCopyMemory() 之前检查该地址是否有效?
阅读有关 ProbeForRead 和 ProbeForWrite 的信息,另外我建议您阅读以下内容:
和
http://www.codeproject.com/Articles/9575/Driver-Development-Part-Introduction-to-Implemen