本文介绍WDK开发的一些特点。与应用层开发的差异性,不能混为一谈。
一、函数的调用点
在内核编程中,一个函数往往有多个调用点,而应用层中一个函数一般只在main里面有调用点。内核函数调用点一般在:
1、入口函数DriverEnty和DriverUnload中
2、各种分发函数(普通分发和快速IO分发)
3、请求处理完成后会被系统调用的回调函数。
(回调函数参考http://www.zhihu.com/question/19801131 或者 http://blog.csdn.net/callmeback/article/details/4242260)
一个形象的例子:
你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登