//SimpleDriver.c,用了C语言
#include
<ntddk.h>
 
VOID SimpleDriverUnload(IN PDRIVER_OBJECT pDriverObject)
{
    KdPrint(("2.SimpleDriverUnload()\n"));
  
//注意KdPrint的格式,是两层括号。
}
 
//驱动程序入口函数,由系统进程(System)调用
//pDriverObject是驱动对象
//pRegistryPath是设备服务键的键名Unicode字符串指针
ULONG DriverEntry (IN PDRIVER_OBJECT pDriverObject,
                   IN PUNICODE_STRING pRegistryPath)
{
    KdPrint(("1.DriverEntry()\n"));
    KdPrint(("1.%S\n",pRegistryPath->Buffer));
   
    //指定卸载routine
    pDriverObject->DriverUnload=SimpleDriverUnload;
 
    return STATUS_SUCCESS;
}
 
编译之后可以使用Compuware DriverStudio提供的DriverMonitor 来加载或卸载。
加载成功后:
1.可以在设备管理的“非即插即用驱动程序”中看到SimpleDriver
2.可以在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\看到SimpleDriver
3.在www.sysinternals.com出品的Winobj中可以看到SimpleDriver
4.在DDK中提供的Device Tree中可以看到SimpleDriver
 
 关于调试信息的查看:
1.DriverMonitor 可以查看
2.www.sysinternals.com出品Dbgview也可以查看

 


本文链接地址: 驱动编程.2 最简单的“驱动程序”
https://blog.qingfengju.com/index.asp?id=186

上一篇: 驱动编程.1 驱动程序的编译
下一篇: 驱动编程.3 [转载]WinDBG+VMware=调试内核

分类:Win32/C++ 查看次数:7231 发布时间:2009/12/20 17:12:09