|  | 
 
| 
有志同道合的朋友们,可以加我qq:2779535853    一起学习交流!!!
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 复制代码
//通过这个buildchk_w2K_x86.log文件可以查看出错信息
//为驱动添加卸载功能
#include <ntddk.h>
//定义个INITCODE宏,这个宏表示 初始化的时候载入内存,然后可以从内存中卸载掉
#define INITCODE code_seg("INIT") //;注意这里是不能加分号的 
//卸载函数的前置说明
VOID DDK_Unload(IN PDRIVER_OBJECT pDriverObject);  
//设置函数代码存放的代码段,这是是放在init段中
#pragma INITCODE
//NTSTATUS 等价与 LONG  
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING B)
{
        KdPrint(("驱动成功被加载..."));
        //Driverunload 回调函数的一个指针,这里的回调函数是卸载驱动的函数
        pDriverObject->DriverUnload = DDK_Unload;
        return 1;
}
VOID DDK_Unload(IN PDRIVER_OBJECT pDriverObject)
{
        
        //KdPrint使用方法类似printf,注意KdPrint((" ",  ));使用的是双括号。
        //这个比DbgPrint 调用要稍好。因为在free 版不被编译。
        KdPrint(("驱动成功被卸载..."));
        DbgPrint("DbgPrint功能与KdPrint相同");
}
 | 
 |