如何加载sys驱动文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何加载sys驱动文件相关的知识,希望对你有一定的参考价值。

  安装sys驱动程序流程:
  1,调用OpenSCManager()打开服务控制管理器;

  2,调用CreateService()创建一个服务,服务类型为内核驱动;

  3,调用OpenService()取得服务;

  4,调用StartService()启动服务然后调用ControlService()停止服务最后调用DeleteService()删除服务;

  5,调用CloseServiceHandle()关闭服务。
参考技术A 汗|| 你想用XueTr的驱动?就算加载了你也不一定能控制它NtLoadDriver、NtSetSystemInformation、DeviceIoControl这三个函数是用来加驱动的,任选其一均可,网上搜下吧实例嘛: http://www.vbgood.com/thread-77409-1-1.htmlhttp://www.vbgood.com/thread-73217-1-1.html

如何加载和启动windows驱动程序?

【中文标题】如何加载和启动windows驱动程序?【英文标题】:How to load and start windows driver? 【发布时间】:2011-08-24 09:38:27 【问题描述】:

嗨,我有一个简单的驱动程序 helloworld.sys,里面有一些打印语句,如 kdprint("loaded successfully") 等。现在我需要加载驱动程序并启动服务。怎么做..?? 在此先感谢

【问题讨论】:

【参考方案1】:

基本上,驱动程序应该注册为服务。使用OpenSCManager 访问服务管理器功能,然后使用CreateService 首次注册您的驱动程序。

在注册期间,您选择驱动程序启动类型。 SERVICE_BOOT_START 表示驱动程序应在引导期间加载(操作系统加载的早期阶段),SERVICE_SYSTEM_START 表示应在系统加载期间加载驱动程序(这或多或少是典型的)。您也可以使用SERVICE_DEMAND_START - 驱动程序不会自动加载。

除非您的驱动程序是自动加载的,否则您应该使用OpenService 来访问其服务,并使用StartService 来实际启动它。

其余的取决于您的驱动程序实际执行的操作。如果它创建了一个虚拟设备 - 您可以使用CreateFile 访问它。然后使用DeviceIoControl 与它进行实际通信。

【讨论】:

【参考方案2】:

请参阅下面的链接,您可以在其中找到从编写驱动程序到编译和启动它所需了解的所有信息:

Introduction to Device Drivers

【讨论】:

以上是关于如何加载sys驱动文件的主要内容,如果未能解决你的问题,请参考以下文章

ntfs.sys 驱动程序何时加载?

如何加载和启动windows驱动程序?

.sys 文件足够驱动吗?

如何在运行时在程序创建的.sys文件上设置文件版本

Linux驱动学习 —— 在/sys下面创建目录示例

如何修改系统文件CONFIG.SYS?