zoukankan      html  css  js  c++  java
  • 创建一个驱动程序

    Windows NT内核下的驱动通常称为KMD(Kernel-Mode Driver),下载并安装好DDK后,就可以编写KMD了。
    编写一个KMD至少需要notepad+ddk。DDK使用C语言编写,驱动的函数有一个新的名字,例程,实际上二者没有必要刻意区分
    一个KMD至少需要DriverEntry例程,和C语言中的main一样,DriverEntry是驱动程序的入口点,驱动程序加载时DriverEntry被调用。
    下面程序和hello world一样,向一个终端输出字符串。不同的是,hello world输出到stdout控制台,而hello kmd输出到系统调试器,有一个工具可以检测那就是dbgView,可以查看。打开dbgView程序,加载该这个驱动就可以看到输出了
    创建驱动很简单,在ddk程序菜单里面选择环境check/free,出现控制台窗口,cd到源文件目录,使用build 命令就可以了。注意源文件目录下有source和makefile文件。makefile文件可以从ddk任意一个例子里面拷贝过来
    source文件里面用如下内容,具体还可以在查阅DDK文档,了解宏的意思。
    TARGETNAME=hello 
    TARGETTYPE=DRIVER
    TARGETPATH=obj

    SOURCES= driver.c


    #include <ntddk.h>
    /*DriverEntry例程*/
    NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)
    {
        DbgPrint("hello kmd");
        return STATUS_SUCCESS;
    }
  • 相关阅读:
    python冲刺(5)列表声称式
    python冲刺(4)切片 等
    python冲刺(3)函数 等
    python冲刺(2)
    python冲刺(1)
    redis初步(1)
    php连接Oracle的时候遇到的编码集问题
    redis初步
    php 命名空间
    指向字符数组的指针与指向整型数组的指针
  • 原文地址:https://www.cnblogs.com/iwasmu/p/1491794.html
Copyright © 2011-2022 走看看