问题标签 [wdm]

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 投票
3 回答
4288 浏览

64-bit - DDK/WDM 开发问题...驱动程序不会在 x64 windows 平台上加载

我是 DDK/WDM 驱动程序开发领域的初学者。我有一项任务涉及将虚拟设备驱动程序从 x86 移植到 x64(英特尔)。我得到了源代码,我对其进行了一些修改,并使用 DDK(构建环境)成功地编译了它。但是当我试图在 ia64 Windows7 机器上加载它时,它不想加载。然后我尝试了一些简单的设备驱动程序示例

-- http://www.codeproject.com/KB/system/driverdev.aspx(我放了'--'以便能够发布超链接)和其他链接,但仍然是同样的问题。

我在一个论坛上听说你用来链接的一些库与新机器不兼容,并建议链接到另一个类似的库……但仍然没有用。

当我构建时,我按照建议使用“-cefw”命令行参数。

我没有关联的 *.inf 文件,但我将它复制到 system32/drivers 中,并且我正在使用 WinObj 查看下次重新启动它是否已加载到内存中。

我还尝试了这个程序(http://www.codeproject.com/KB/system/tdriver.aspx)将驱动程序加载到内存中,但仍然没有为我工作。

请帮助我......我坚持这个,我的截止日期已经过去了。我觉得我在这里发疯了,试图发现我做错了什么。

0 投票
1 回答
619 浏览

c - 如何在 Windows WDM 驱动程序中设置系统时间?

我们正在开发一种 GPS 时间同步硬件设备。我们想为该设备编写一个 Windows WDM 驱动程序。为了避免用户级延迟,我们希望在内核驱动程序级别设置 windows(XP/Vista/7) 系统时间。有谁知道如何做到这一点?

谢谢徐军

0 投票
1 回答
193 浏览

windows - 避免在 Windows 上重复代码签名的驱动程序代理

Windows 上的驱动程序应签名并提交给 Microsoft 进行代码签名,这是 64 位系统的要求。问题是,当您必须更新驱动程序时,您必须再次提交,每次发布一次。

是否可以构建某种代理或垫片驱动程序,以便我只需签名并提交一次,然后将我的代码放在单独的模块中?

当然,我不能只在 DLL 中移动工作代码,因为动态加载的模块也必须签名才能在 64 位内核模式下执行。如果我将代码放在原始文件中,将其加载到内存中(在启用执行标志的情况下分配)然后执行它会怎样?其他想法?

0 投票
4 回答
2438 浏览

windows - 具有 Windows 驱动程序模型的虚拟驱动程序 - 从哪里开始?

我以前从未编写过驱动程序,但我正在启动一个开源项目,该项目涉及创建将通过网络发送 MIDI 数据的虚拟 MIDI 端口。

为此,我假设我将使用 WDM 创建某种虚拟驱动程序(除非可以使用内核挂钩?) - 但作为驱动程序开发的初学者,我不知道从哪里开始。

有谁知道任何有用的资源可以帮助我完成这个项目?或者我可以从类似项目中提取一些开源代码作为起点?

0 投票
2 回答
2068 浏览

operating-system - Windows 内核模式驱动程序如何访问分页内存?

1) 用户模式进程有自己的“地址上下文”,它将用户模式虚拟地址映射到唯一的物理页框集合。也就是说,任何特定虚拟地址的含义随着 Windows XP 调度程序切换线程而从一个时刻到另一个时刻发生变化。

“切换线程”的一部分工作是更改页表,以便它们引用传入线程的进程上下文。

_

2) Windows 内核模式驱动程序在“任意线程上下文”中执行。

驱动程序可以创建一个系统线程并在其上下文中工作……但我说的是不创建系统线程的情况。

驱动程序可以使用“ExAllocatePoolWithTag”来分配分页(易失性存储中的内存)。

_

3)那么驱动程序如何在没有任何上下文的情况下访问分页内存?

如第 1 点所示,分页内存是通过“特定于上下文”的页表访问的。

当驱动程序在其他一些线程上下文中运行时......即页表条目指向与线程相关的 phy。mem,那么驱动程序如何访问他的分页内存?

PS:我是内核编程的菜鸟。不要生气。

0 投票
1 回答
982 浏览

kernel - 同一处理器上有两个自旋锁?

  1. 两个 CPU 可以同时持有两个“不同”的自旋锁吗?

  2. 那么......这是否意味着:一个单一(单处理器)CPU 不能同时持有两个“不同”的自旋锁?

  3. 那么……这是否意味着:单个 CPU 上的自旋锁数量不能大于 1。

PS:“不同”暗示与不同内存资源相关的自旋锁。


有人知道自旋锁在内部是如何工作的吗?...我的意思是,他们会在测试集操作期间冻结总线吗?我用谷歌搜索过,但没有绝对的答案。

0 投票
2 回答
3230 浏览

windows - 从 NT/设备名称获取文件路径

我想将设备路径转换为文件路径。

我想通过进程ID获取进程名称,所以我正在使用这段代码

但它给出了路径\Device\hardDiskVolume1\windows\system32\taskmgr.exe

但我希望这是一个普通的文件名C:\windows\system32\taskmgr.exe

0 投票
1 回答
727 浏览

windows - DDK/WDM 将 wink32.lib 导入驱动

最近我试图在我的驱动程序中使用 W32pServiceTable。我确实在 SOURCES 中导入了 wink32.lib:

我在源文件中声明:

但是我的符号未解决。我读到,只有 GDI 驱动程序可以使用 wink32.lib。但我很确定其他驱动程序也可以链接到该库(但我不知道如何)。如果您能提供帮助,我将不胜感激。

0 投票
1 回答
210 浏览

windows - 如何获取 WDM 编译器的包含路径?

我正在阅读一些 Windows XP 设备驱动程序的源代码,我想知道 WDM 编译器的确切包含路径。我知道这些应该包括在内:

但是,我知道 WDM 构建必须使用其他一些路径。例如,我不知道在哪里'__int32'定义。

顺便说一句,同样,我也想知道如何获取 WDM 链接器所需的库路径。

0 投票
1 回答
1053 浏览

wdk - 如何在 WDK 中构建 WDM 驱动程序?

我想在最新的 WDK 中构建 WDM 驱动程序。WDM 和 WDF 的源文件有什么区别?如何将构建标记指定为 WDM 而不是 WDF?