我正在尝试安装在WDK(Windows驱动程序工具包)中作为示例提供的Windows打印机驱动程序(OEMUNI)。但我不断从添加打印机向导中收到以下错误:“未安装打印机驱动程序。操作无法完成(错误0x00000002)”。我已尝试使用管理员权限运行添加打印机向导,但我仍然遇到同样的问题。我使用的是Windows7,64位版本。有人可以帮我吗?另外,错误代码:0x00000002表示什么?以下是我的INF文件:-;OEMDLL.INF;;INFfileforOEMDLLCustomizationsamples;;Copyright1999-2003MicrosoftCorporatio
首先,你可以通过DDKbuildutility成功编译如下main.c。#includeNTSTATUSDriverEntry(PDRIVER_OBJECT,PUNICODE_STRING){try{leave;}except(1){}return0;}但是,请注意:“leave”和“except”都不是有效的C语言关键字。我知道__leave和__except(即带有双前导下划线)都是微软特定的关键字来扩展C语言,但“leave”和“except”不是。我还确认“leave”和“except”不是由宏定义的。MSDN对此没有任何解释。谁能给我解释一下?提前致谢。
我有一个顶层微过滤器驱动和一个用户模式服务,类似于ScannerMSDNexample.我希望我的用户模式服务在记事本中打开时替换A.txt文件内容。因此,在IRP_MJ_CREATE操作后回调中,我向服务发送通知并等待它向文件写入新数据。但是服务无法打开A.txt,因为它已经被记事本锁定了。如何让我的服务在不使用内核的情况下写入数据FltWriteFile?这样做的最佳方法是什么?也许取消文件打开,让服务写入数据并用相同的参数重新打开它而不离开操作后回调?也许我应该在预操作中覆盖所需的访问权限?---任何信息将不胜感激。如果您认为这个问题缺乏细节,请告诉我。
我必须为我的大学项目实现跨View文件完整性检查器。为此,我该如何在内核模式下列出目录的文件?? 最佳答案 您的起点是ZwCreateFile-具有诸如“FILE_LIST_DIRECTORY”之类的选项。然后您将使用ZwQueryDirectoryFile获取有关该目录中文件的信息。确保确定您不会忘记ZwClose打开某些东西之后-在用户模式应用程序中它并不是那么重要,它在使用后再次关闭。但是内核不知道驱动程序何时停止使用文件(或者,就此而言,如果其他驱动程序已获得该文件句柄,并且将在某个时候使用它),所以即使您的驱动程序已卸载,
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:StackOverflowquestionchecklist关闭9年前。Improvethisquestion如何生成.sys文件以便我可以将其加载到OSRloader中?
我正在为WinPcap和Nmap开发Win7和Win8的NDIS6过滤器驱动程序。如您所知,Nmap是一种网络扫描仪。Nmap的一个要求是捕获本地主机数据包,如“ping127.0.0.1”,以便Nmap也可以测试本地机器本身。然而,本地主机数据包似乎只会在TCP/IP堆栈中返回,而不会到达NDIS层。有什么办法可以解决这个问题吗?比如添加环回适配器或什么?谢谢。 最佳答案 您需要WFP标注来捕获第3层环回数据包。TCPIP有一个快速环回路径,它永远不会到达NDIS中的第2层。 关于c-
我已经安装了WindowsDriverKit(WDK)8.1并根据thislink,在VisualStudio的项目属性框架中,在PlatformToolset中,我应该有WindowsKernelModeDriver8.1,但它没有出现在那里并且根据thislink,在“新建项目”窗口中,我应该在安装的模板中包含Windows驱动程序,但是在我的VisualStudio中,它没有出现在该列表中。我使用的是VisualStudioUltimate2012。我应该怎么做才能将WDK功能添加到VisualStudio?此外,如果我正在检查宏,更准确地说是$(WindowsSDK_Inclu
我正在编写一个需要分配非分页内存池的驱动程序,出于性能考虑,该内存必须可以直接从用户模式程序访问。在驱动程序条目中,我用这两种方法分配了一些内存:pMdl=IoAllocateMdl(NULL,4096,FALSE,FALSE,NULL);if(!pMdl){DbgPrintEx(DPFLTR_IHVVIDEO_ID,DPFLTR_INFO_LEVEL,"ErroronIoAllocateMdl.Returningfromdriverearly.\n");returnSTATUS_INSUFFICIENT_RESOURCES;}MmBuildMdlForNonPagedPool(pMd
我已经为本地内核调试设置了我的系统,因为我只打算编写一个具有两个函数的简单驱动程序。我刚刚构建了一个简单的“helloworld”类型的驱动程序,看看我是否能让我的驱动程序运行,目前我已经禁用了驱动程序签名验证并启用了内核Debug模式,使用:bcdedit/debugon我还使用Windows测试商店的证书对我的驱动程序进行了测试签名?或者在VS2015中叫什么:)现在,我的问题是我在构建后通过右键单击.inf文件来安装我的驱动程序,但是我在我的驱动程序(下面的代码)中没有看到任何调试打印的输出,所以这让我相信我的驱动程序根本没有运行?或者是什么?我在安装驱动程序的机器上更改了Com
我们在签下司机方面面临着危急情况。请问用WDK7.1编译的驱动能否通过windowsHLK测试因为我们能够使用HCK对它们进行签名,但现在在修复了一些错误后,新版本必须通过HLK测试才能支持Windows10,但不能!非常感谢任何建议。非常感谢。 最佳答案 答案是是的。你能做的最好的事情就是使用wdk10编译你的驱动程序,使用VS2015保持目标操作系统为windows7在windows10上安装并使用HLK进行测试。或者其次,您知道驱动程序是向前兼容的,如果它们是为Windows7编译的,它们也可以在Windows8.1或Wind