驱动入口与驱动对象

驱动开发程序员所编写的驱动程序对应有一个结构。这个结构名为DRIVER_OBJECT。对应一个“驱动程序”。下面的代码展示的是一个最简单的驱动程序。

    #include <ntddk.h>
    NTSTATUS
        DriverEntry (
            IN PDRIVER_OBJECT   DriverObject,
            IN PUNICODE_STRING  RegistryPath
        )
    {
        NTSTATUS status = STATUS_UNSUCCESSFUL;
        return status;
    }

函数DriverEntry是每个驱动程序中必须的。如同Win32应用程序里的WinMain。DriverEntry的第一个参数就是一个DRIVER_OBJECT的指针。这个DRIVER_OBJECT结构就对应当前编写的驱动程序。其内存是Windows系统已经分配的。

第二个参数RegistryPath是一个字符串。代表一个注册表子键。这个子键是专门分配给这个驱动程序使用的。用于保存驱动配置信息到注册表中。至于读写注册表的方法,请参照前面章节中的内容。

DriverEntry的返回值决定这个驱动的加载是否成功。如果返回为STATUS_SUCCESS,则驱动将成功加载。否则,驱动加载失败。

取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by bytekits.com,汇天下文字,成非凡梦想!!!