问题标签 [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.

0 投票
2 回答
2201 浏览

c++ - C驱动程序编程蓝屏死机

大家好,除夕/新年快乐,

我目前正在制作的驱动程序存在一些问题。在我处理 WriteFile() 请求之前,一切正常。我的司机试图处理所有事情,但我遇到了蓝屏死机。

我必须在此语句中查明错误的确切位置:

这是我完整的驱动程序代码(我正在关注各种教程,所以不要介意可怕的格式,我没有时间整理:

当我的驱动程序收到 IRp 写入请求时,代码将失败:

有谁知道我做错了什么?非常感谢您的帮助!

0 投票
1 回答
12089 浏览

visual-studio - $< 和 $@ 在 make 文件中是什么意思

我在 WDK 构建环境的 makefile 中找到了这些伪变量名。这些变量引用了什么?我相信通过搜索引擎得到答案对我来说有点困难,因为它们很特别。

0 投票
1 回答
372 浏览

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

0 投票
1 回答
649 浏览

windows - KeWaitForSingleObject() 上的“WaitReason”参数的目的是什么?

MSDN 文档没有解释这里的各种选项会发生什么(尽管对“WaitMode”参数非常清楚)。为什么我会选择 'Executive' 而不是 'UserRequest' 或 KWAIT_REASON 中的无数其他选项?

0 投票
1 回答
106 浏览

windows - 如何使用少量共享代码构建 2 个设备驱动程序

我继承了一个处理多种设备类型的 Windows 驱动程序。我需要将它分成 2 个独立的驱动程序,每个设备一个。每个设备都有代码,然后是两者通用的代码,所以我创建了 3 个目录:deviceA、deviceB 和 common。

我这样做有两个原因: 1. 以这种方式分离驱动程序源似乎更清楚 2. build.exe 需要一个“源”文件,因此我不能在同一目录

使用 Visual Studio 调用 ddkbuild.bat,我的构建惨遭失败。

可以按照我尝试的方式做到这一点吗?有没有更好/更智能的方法?

我已经修改了每个设备子目录中的。我不知道如何处理公共文件。

使用 Visual Studio 2008、ddkbuild、DDK 7600.16385.0。

0 投票
1 回答
610 浏览

c++ - 使用打印机驱动程序以 PCL-5e 格式保存可打印文档

我想开发一个打印机驱动程序,它应该以 PCL-5e 格式将可打印数据保存到给定位置。

我已经浏览了 WDK 示例集附带的位图示例。根据该示例,如果我们要转储位图文件输出,我们需要挂钩OEMEndDoc函数,这将返回包含位图详细信息的SURFOBJ GDI 结构。

同样,如果我们想以 PCL-5e 格式转储数据,任何专家都可以提示我哪些是我需要挂钩的函数以及哪个 GDI 结构返回 PCL-5e 数据。

我们可以将 *Personality 设置为“PERSONALITY_HPGL2”来配置迷你驱动程序以启用 HP-GL/2。除此之外,我需要在 GPD 文件中配置哪些主要属性。

谢谢, 问候, 机器人

0 投票
1 回答
499 浏览

windows - Windows .inf 文件:如何在网络驱动程序安装期间设置默认网络连接名称?

我正在尝试为我的项目调整开源TAP-Win32 驱动程序

当它安装时(至少在 Windows 7 上,我也认为是 Windows XP)它会在设备控制面板中创建一个名为“TAP-Win32 Adapter V9”的设备。这很容易通过编辑随附的 OemWin2k.inf 文件来更改。

但是,该设备随后会连接到 Windows 网络浏览器中的网络,默认情况下它被命名为“本地连接 2”。我可以使用 GUI 轻松地重命名它:只需单击网络并按 F2。

但我的问题是:我正在处理的网络设备绝对不是“本地连接”,它实际上是一个虚拟网络设备。我该怎么做才能使用我选择的更具描述性的名称默认显示名称?

我应该阅读有关此的任何一般文档吗?

0 投票
2 回答
3120 浏览

windows - 静默使用 Microsoft XPS Document Writer 打印机创建 XPS

几天来,我一直在努力在没有对话框的情况下将 XPS 打印到文件中。我已经阅读了 CodeGuru 和 Feng Yuan (MSDN) 中关于此事的帖子,以及这里的许多讨论主题,但我仍然迷失了方向。

具体来说,我的情况是我有一个必须使用的第 3 方 API,它会打印到默认打印机(比如 Microsoft XPS Document Writer)。我希望能够在打印过程之前“应用”文件名,当然也没有对话框。

我尝试过使用 WinDDK - XPSDRV 和 LOCALMON 示例,但无法准确弄清楚如何操作代码来实现我的目标。(甚至完全了解我是否需要新的打印机驱动程序或新的端口类型)

0 投票
1 回答
1920 浏览

windows - 有没有办法在 Windows 键盘驱动程序中模拟箭头键?

我目前正在为 Windows 编写一个键盘驱动程序,它提供了一个额外的修饰符并允许直接键入一些额外的字符。例如实引号(“、”、'、'、...)和一些数学字符(ℕ、ℝ、ℚ、ℤ、√、...)。

现在我想像那样提供箭头键。(alt_gr + e = 上;alt_gr + s = 左;alt_gr + d = 下;alt_gr + f = 右)

所以我的问题是,如果箭头键有 Unicode 控制字符,我可以在我的 aVkToWcharTable 或其他解决方案中使用它。这真的很有帮助。

0 投票
2 回答
997 浏览

windows-server-2008 - NDIS 筛选器驱动程序未在 Windows 2008 R2 中加载

我正在尝试开发 NDIS 过滤器驱动程序。但是,我似乎无法加载它。我启用了debugtestsigning启动选项;我的驱动程序是经过测试签名的,并且证书已加载到roottrustedpublisher存储中。

在我启用之前testsigning,我的驱动程序会在 ntbootlog.txt 中显示为

未加载驱动程序 \SystemRoot\system32\DRIVERS\mydriver.sys

启用后testsigning,驱动程序根本不显示。但是,它显示在接口属性中。即使我的驱动程序当前是一个非常小的直通 NDIS 过滤器驱动程序,该接口也会损坏,直到我禁用过滤器。当我禁用过滤器时,一切正常。

该驱动程序未列在 windbg 的模块列表中,但它在“未加载模块”列表中,这表明该驱动程序已在某个时间点加载。DriverEntry我的驱动程序在和DriverUnload以及所有强制性 NDIS 挂钩中产生了一些输出。这个输出都没有出现在 windbg's!dbgprint中,这表明驱动程序DriverEntry从未被调用过。

我不知道如何调试这个问题;谁能给我一些关于这里可能发生的事情的提示?

我正在使用 Windows 2008 R2 数据中心,已检查构建。我目前仅限于单机设置。