如何使用C#在Windows中运行驱动程序(.sys文件)

时间:2012-03-16 10:09:52

标签: c# windows windows-services driver

我正在使用C#开发Windows应用程序。我想在backEnd运行一个.sys文件(基本上是驱动程序),因为我的代码使用了某些函数来实现输出。

我如何用C#编写代码?如果.sys文件放在“Bin”文件夹中,它就不会运行,因为我猜它可以作为服务运行。

考虑名称 - "someDriver.sys"(我在这里使用的是Win7操作系统)

我可以在内核模式下将此.sys文件作为服务运行吗? 我的应用程序非常简单,没有安装程序(我也不想拥有它)。你能帮我解决这个问题,我需要有.sys文件才能使我的功能正常工作。

2 个答案:

答案 0 :(得分:2)

您是否尝试过在本文How to install driver dynamically or install driver as a service for Windows中看到它是如何完成的 您必须使用互操作来调整呼叫 使用此工具可以帮助您完成Interop定义:PInvoke Interop Assistant

答案 1 :(得分:0)

您可以使用this answer中的代码,只需将SERVICE_WIN32_OWN_PROCESS更改为SERVICE_KERNEL_DRIVER(0x00000001)。那你就可以做

ServiceInsatller.InstallAndStart("yourServiceName", "Some Description", "C:\path\to\driver.sys");

这对我有用。