问题标签 [wdk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C驱动程序编程蓝屏死机
大家好,除夕/新年快乐,
我目前正在制作的驱动程序存在一些问题。在我处理 WriteFile() 请求之前,一切正常。我的司机试图处理所有事情,但我遇到了蓝屏死机。
我必须在此语句中查明错误的确切位置:
这是我完整的驱动程序代码(我正在关注各种教程,所以不要介意可怕的格式,我没有时间整理:
当我的驱动程序收到 IRp 写入请求时,代码将失败:
有谁知道我做错了什么?非常感谢您的帮助!
visual-studio - $< 和 $@ 在 make 文件中是什么意思
我在 WDK 构建环境的 makefile 中找到了这些伪变量名。这些变量引用了什么?我相信通过搜索引擎得到答案对我来说有点困难,因为它们很特别。
c++ - How can I output traffic information (IP, port, etc.) to a log file using Windows Filtering Platform and Windows Driver Development Kit?
I am working on a driver using WDK that will monitor network traffic and output it to a log file.
I am currently trying to modify the inspect example given in the WinDDK directory.
It seems that I can't call printf, fprintf, etc. because of a linker error:
unresolved external symbol __imp_printf ...
Is there another way to output traffic information to a log file? Am I not linking some library somewhere properly?
Thank you
windows - KeWaitForSingleObject() 上的“WaitReason”参数的目的是什么?
MSDN 文档没有解释这里的各种选项会发生什么(尽管对“WaitMode”参数非常清楚)。为什么我会选择 'Executive' 而不是 'UserRequest' 或 KWAIT_REASON 中的无数其他选项?
windows - 如何使用少量共享代码构建 2 个设备驱动程序
我继承了一个处理多种设备类型的 Windows 驱动程序。我需要将它分成 2 个独立的驱动程序,每个设备一个。每个设备都有代码,然后是两者通用的代码,所以我创建了 3 个目录:deviceA、deviceB 和 common。
我这样做有两个原因: 1. 以这种方式分离驱动程序源似乎更清楚 2. build.exe 需要一个“源”文件,因此我不能在同一目录
使用 Visual Studio 调用 ddkbuild.bat,我的构建惨遭失败。
可以按照我尝试的方式做到这一点吗?有没有更好/更智能的方法?
我已经修改了每个设备子目录中的源。我不知道如何处理公共文件。
使用 Visual Studio 2008、ddkbuild、DDK 7600.16385.0。
c++ - 使用打印机驱动程序以 PCL-5e 格式保存可打印文档
我想开发一个打印机驱动程序,它应该以 PCL-5e 格式将可打印数据保存到给定位置。
我已经浏览了 WDK 示例集附带的位图示例。根据该示例,如果我们要转储位图文件输出,我们需要挂钩OEMEndDoc函数,这将返回包含位图详细信息的SURFOBJ GDI 结构。
同样,如果我们想以 PCL-5e 格式转储数据,任何专家都可以提示我哪些是我需要挂钩的函数以及哪个 GDI 结构返回 PCL-5e 数据。
我们可以将 *Personality 设置为“PERSONALITY_HPGL2”来配置迷你驱动程序以启用 HP-GL/2。除此之外,我需要在 GPD 文件中配置哪些主要属性。
谢谢, 问候, 机器人
windows - Windows .inf 文件:如何在网络驱动程序安装期间设置默认网络连接名称?
我正在尝试为我的项目调整开源TAP-Win32 驱动程序。
当它安装时(至少在 Windows 7 上,我也认为是 Windows XP)它会在设备控制面板中创建一个名为“TAP-Win32 Adapter V9”的设备。这很容易通过编辑随附的 OemWin2k.inf 文件来更改。
但是,该设备随后会连接到 Windows 网络浏览器中的网络,默认情况下它被命名为“本地连接 2”。我可以使用 GUI 轻松地重命名它:只需单击网络并按 F2。
但我的问题是:我正在处理的网络设备绝对不是“本地连接”,它实际上是一个虚拟网络设备。我该怎么做才能使用我选择的更具描述性的名称默认显示名称?
我应该阅读有关此的任何一般文档吗?
windows - 静默使用 Microsoft XPS Document Writer 打印机创建 XPS
几天来,我一直在努力在没有对话框的情况下将 XPS 打印到文件中。我已经阅读了 CodeGuru 和 Feng Yuan (MSDN) 中关于此事的帖子,以及这里的许多讨论主题,但我仍然迷失了方向。
具体来说,我的情况是我有一个必须使用的第 3 方 API,它会打印到默认打印机(比如 Microsoft XPS Document Writer)。我希望能够在打印过程之前“应用”文件名,当然也没有对话框。
我尝试过使用 WinDDK - XPSDRV 和 LOCALMON 示例,但无法准确弄清楚如何操作代码来实现我的目标。(甚至完全了解我是否需要新的打印机驱动程序或新的端口类型)
windows - 有没有办法在 Windows 键盘驱动程序中模拟箭头键?
我目前正在为 Windows 编写一个键盘驱动程序,它提供了一个额外的修饰符并允许直接键入一些额外的字符。例如实引号(“、”、'、'、...)和一些数学字符(ℕ、ℝ、ℚ、ℤ、√、...)。
现在我想像那样提供箭头键。(alt_gr + e = 上;alt_gr + s = 左;alt_gr + d = 下;alt_gr + f = 右)
所以我的问题是,如果箭头键有 Unicode 控制字符,我可以在我的 aVkToWcharTable 或其他解决方案中使用它。这真的很有帮助。
windows-server-2008 - NDIS 筛选器驱动程序未在 Windows 2008 R2 中加载
我正在尝试开发 NDIS 过滤器驱动程序。但是,我似乎无法加载它。我启用了debug
和testsigning
启动选项;我的驱动程序是经过测试签名的,并且证书已加载到root
和trustedpublisher
存储中。
在我启用之前testsigning
,我的驱动程序会在 ntbootlog.txt 中显示为
未加载驱动程序 \SystemRoot\system32\DRIVERS\mydriver.sys
启用后testsigning
,驱动程序根本不显示。但是,它显示在接口属性中。即使我的驱动程序当前是一个非常小的直通 NDIS 过滤器驱动程序,该接口也会损坏,直到我禁用过滤器。当我禁用过滤器时,一切正常。
该驱动程序未列在 windbg 的模块列表中,但它列在“未加载模块”列表中,这表明该驱动程序已在某个时间点加载。DriverEntry
我的驱动程序在和DriverUnload
以及所有强制性 NDIS 挂钩中产生了一些输出。这个输出都没有出现在 windbg's!dbgprint
中,这表明驱动程序DriverEntry
从未被调用过。
我不知道如何调试这个问题;谁能给我一些关于这里可能发生的事情的提示?
我正在使用 Windows 2008 R2 数据中心,已检查构建。我目前仅限于单机设置。