网站前后台代码桂林网站seo
web/
2025/10/4 11:08:51/
文章来源:
网站前后台代码,桂林网站seo,广告公司简介范文大全,网站设计 成都在驱动程序开发中#xff0c;对内存的操作要格外小心。如果某段内存是只读的#xff0c;而驱动程序试图去写操作#xff0c;会导致系统的崩溃。同样#xff0c;当某段内存是不可读的情况下#xff0c;驱动程序试图去读#xff0c;同样会导致系统的崩溃。 DDK提供了两个函… 在驱动程序开发中对内存的操作要格外小心。如果某段内存是只读的而驱动程序试图去写操作会导致系统的崩溃。同样当某段内存是不可读的情况下驱动程序试图去读同样会导致系统的崩溃。 DDK提供了两个函数帮助程序员在不知道某段内存是否可读写的情况下试探这段内存可读写性。这两个函数分别是 ProbeForRead 和 ProbeForWrite。
ProbeForRead 的原型结构如下
void ProbeForRead([in] const volatile VOID *Address,[in] SIZE_T Length,[in] ULONG Alignment
);// Address: 需要被检查的内存的地址
// Length: 需要被检查的内存的长度
// Alignment 描述该字段内存是以多少字节对齐的。 ProbeForWrite 的原型结构如下
void ProbeForWrite([in, out] volatile VOID *Address,[in] SIZE_T Length,[in] ULONG Alignment
);// Address: 需要被检查的内存的地址
// Length: 需要被检查的内存的长度
// Alignment 描述该字段内存是以多少字节对齐的。 这两个函数不是返回该段内存是否可读写而是当不可读写的时候引发一个异常(Exception)。这个异常需要用到微软编译器提供的“结构化异常”处理办法。“结构化异常”机制会轻松地检测到这种异常进而做出相应的异常处理。关于结构化异常的介绍见下一戒。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86746.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!