第一个NT驱动在win7崩溃的问题

《Windows驱动开发技术详解》

这本书不错,可是在win7上用checked环境编译的第一个nt驱动就遭遇卸载蓝屏实在让人郁闷,好在查到一条消息:把CreateDevice函数的声明从#pragma INITCODE改为#pragma PAGEDCODE就可以修正了。据说根本原因是因为CreateDevice分配字符串是在非分页内存,INTCODE的属性为用完就卸载,导致在Unload函数(此函数为PAGEDCODE)中使用CreateDevice中分配的内存而出现程序崩溃。

你可能感兴趣的:(windows,字符串,内存,卸载,checked)