jjzjj

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

我正在使用C#开发Windows应用程序。我想在后端运行一个.sys文件(基本上是驱动程序),因为我的代码使用某些函数来实现输出。我如何用C#编写代码?如果.sys文件放在“Bin”文件夹中,它就不会运行,因为我猜它可以作为服务运行。考虑名称-“someDriver.sys”(我在这里使用Win7操作系统)我可以在内核模式下将此.sys文件作为服务运行吗?我的应用程序非常简单,没有安装程序(我也不想安装)。你能帮助我如何解决这种情况,我需要.sys文件才能使我的功能正常工作。 最佳答案 您是否尝试过在这篇文章中查看它是如何完成的Ho

c - 具有标准用户权限的 Windows 7 中的 dpinst.exe 行为

我在驱动程序包中使用dpint.exe。我在Windows764位操作系统中面临下面提到的场景。WhenUACEnabled,Itworksasexpectedinadminmode(userwithadminprivileges),standardusermodeandinguestmode.(i.e.,promtsawindowaskingforadminpasswordinstandardusermodeandguestmode).WhenUACisdisabled,InAdminmode(userwithadminprivileges)it"never"showsanywind

windows - MmMapIoSpace 的魔数(Magic Number)

因此,在使用MmMapIoSpace映射内存空间时,我注意到超过某个点后,数据在写入时就被丢弃了。没有错误、断点,甚至没有错误检查。一切正常,没有任何不利影响。我决定做一个写/读测试(驱动程序将1写入每个字节的长度为intended大小)并且读取器(用户区)模式将读取并报告1的位置结束了。它得出的数字是3208,这是一个看起来不错的整数(/8=401,/256=12,等等)这是怎么回事?为什么我无法映射完整的缓冲区空间?编辑在64位中它下降到2492。 最佳答案 我不是专家,但我不明白如何依赖MmMapIoSpace来完成您要求它做

windows - WDF 中的 MSI-X 中断

我在使用WDF/KMDF编写的Windows总线驱动程序中实现MSI-X中断时遇到了很多麻烦。我读过MSDNdocumentation,那里并没有太多有用的信息。我的理解是它应该真的只是“工作”。我已经更改了我们的驱动程序的INF文件以添加适当的注册表项,并确认它们被设置为在安装时正常工作。我正在正确查询PCI配置空间并确定是否支持MSI-X中断。问题是,一旦我有了这些信息,我就不知道如何更改我的代码来专门将中断设置为MSI-X。我执行标准调用来配置WDF_INTERRUPT_CONFIG_INIT结构并调用WdfInterruptCreate,但创建的中断不是消息信号,我不知道需要做

windows - "partially opaque"对 Windows 代码意味着什么?

我在thedocumentationforawindowsOS"DRIVER_OBJECT"中看到驱动程序对象是部分不透明的。但是“部分不透明”是什么意思?我猜这意味着只有DRIVER_OBJECT的一部分可用,但是从编程的角度来说,这意味着什么?也就是说,如果某些代码具有指向DRIVER_OBJECT的指针,则它可以将整个对象作为一个单元读取(并可能写入)。 最佳答案 完整的报价是,Adriverobjectispartiallyopaque.Driverwritersmustknowaboutcertainmembersofad

windows - KeEnterGuardedRegion() 与 KeRaiseIrql(APC_LEVEL, &old_irql)

有两种方法可以禁用所有APC:调用KeEnterGuardedRegion();调用KeRaiseIrql(APC_LEVEL,&old_irql);有什么区别? 最佳答案 请参阅标题为DisablingAPCs的MSDN文档:UsingaguardedregionisfasterthanraisingandloweringthecurrentIRQL,butguardedregionsareonlyavailableinWindowsServer2003andlaterversionsofWindows.因此,如果您的代码需要支持

windows - 如何在 Windows 7/8/8.1(尤其是 64 位)上使用未签名的驱动程序

我想自动安装需要测试的未签名驱动程序。我听说如果我使用gui-auto绕过驱动程序警告提示它仍然拒绝实际使用它。安全不是问题。自动化是(f8选项对我没用,但可能对其他人有用)。我们使用的是旗舰版/企业版,但其他人可能使用的是家庭版。似乎没有一个完整的答案,尤其是对于我能找到的最近的操作系统(很多答案后面有人声称他们不工作)。 最佳答案 对于windows8,使用以下hackhttp://www.fotoclubinc.com/blog/how-to-disable-driver-signature-enforcement-to-al

c - 启动 Windows 驱动程序时出错 : The handle is invalid

我是一名Web开发人员,决定涉足内核模式开发。我安装了WDK8.1、VisualStudioProfessional2013,并设置了Windows7VM来调试和测试我的驱动程序。我从thistutorial开始我下载解决方案并构建驱动程序。我无法执行教程中描述的部署步骤,因此我尝试使用OSRDriverLoader安装驱动程序我能够注册驱动程序,但是当我尝试启动它时出现以下错误。C:\Windows\system32>sc启动KmfSmall[SC]启动服务失败6:句柄无效。这是驱动程序的代码:#include#includeDRIVER_INITIALIZEDriverEntry;

windows - 有谁知道从哪里可以获得旧的 WDM 版本的 toastr 驱动程序示例?

当前的8.xWindows驱动程序套件示例包括toastr示例,但仅在KMDF和UMDF中实现。我有一个特定的应用程序需要专门处理PNP消息,我认为它不适用于KMDF。有谁知道我在哪里可以买到sample中曾经有的WDM版本的toastr? 最佳答案 下载并安装7.1.0WDK,此WDK包含许多遗留WDM示例。 关于windows-有谁知道从哪里可以获得旧的WDM版本的toastr驱动程序示例?,我们在StackOverflow上找到一个类似的问题: http

windows - Windows 设备驱动程序的文件格式

什么扩展名可以对应Windows设备驱动程序源文件?是*.inf、*cat还是*.sys呢?我试图在一堆遗留代码中搜索驱动程序的源代码,我看到具有上述扩展名的文件。 最佳答案 如果它是遗留驱动程序并使用命令提示符(不是较新的visualstudio)构建,那么您最好查找名为SOURCES的文件。它类似于makefile,将列出驱动程序文件名(somedriver.sys)以及该驱动程序的源文件列表-.c。 关于windows-Windows设备驱动程序的文件格式,我们在StackOver