Windows 驱动开发基础系列,转载请标明出处:http://blog.csdn.net/ikerpeng/article/details/38821919
NT类型的驱动即不是即插即用的驱动,主要包括3部分:DriverEntry函数,CreateDevice函数,DriverUnload函数.其实还有IRP派遣函数,但是这里先不做介绍。
接下来详细的说明一下。
系统启动的时候,就创建了系统进程;驱动加载的时候,系统启动一个新的线程,创建一个驱动对象。而当系统线程调用DriverEntry函数的时候,就实现了对驱动对象的初始化。
1. DriverEntry
extern “C”NTSTATUS DriverEntry( IN PDRIVER_OBJECT pDriver_Object,
IN PUNICODE_STRING pRegistryPath );
pDriver_Object:指向这个驱动对象。