《Windows驅動開發技術詳解》
這本書不錯,可是在win7上用checked環境編譯的第一個nt驅動就遭遇卸載藍屏實在讓人鬱悶,好在查到一條消息:把CreateDevice函數的聲明從#pragma INITCODE改爲#pragma PAGEDCODE就可以修正了。據說根本原因是因爲CreateDevice分配字符串是在非分頁內存,INTCODE的屬性爲用完就卸載,導致在Unload函數(此函數爲PAGEDCODE)中使用CreateDevice中分配的內存而出現程序崩潰。
《Windows驅動開發技術詳解》
這本書不錯,可是在win7上用checked環境編譯的第一個nt驅動就遭遇卸載藍屏實在讓人鬱悶,好在查到一條消息:把CreateDevice函數的聲明從#pragma INITCODE改爲#pragma PAGEDCODE就可以修正了。據說根本原因是因爲CreateDevice分配字符串是在非分頁內存,INTCODE的屬性爲用完就卸載,導致在Unload函數(此函數爲PAGEDCODE)中使用CreateDevice中分配的內存而出現程序崩潰。