问题标签 [drivers]

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 投票
1 回答
1368 浏览

printing - 开发模式结构

我有文件需要通过打印驱动程序驱动,然后另存为文件。我可以通过编程方式使用 DevMode 结构来驱动这些文件,而无需打开创建它的应用程序吗?我还可以更改 DevMode 结构值以编程方式更改为其他文件类型并继续驱动它们并将它们保存到文件中吗?

0 投票
2 回答
1010 浏览

c++ - 关闭远程 PC 上的显示器

我正在修复 Windows 远程控制(类似远程桌面)应用程序中的一些错误。还有一个功能是你可以在远程机器上黑屏——所有程序都保持运行不受影响,但是看着远程电脑上的显示器的人只能看到黑屏。

它是通过发送 IoCtl request 来实现的IOCTL_VIDEO_SET_OUTPUT_DEVICE_POWER_STATE,这是未记录的。而且此请求不适用于 Vista 及更高版本。

还有其他方法可以做我想做的事吗?

事实上,SendMessage(-1,WM_SOMMAND,SC_MONITORPOWER,2)确实有效,但如果有人触摸键盘/鼠标,屏幕会重新打开。

0 投票
2 回答
2408 浏览

windows - 设备驱动程序和 Windows

我正在尝试完成 PC 和操作系统如何交互的画面。而且我正处于这一点,当涉及到设备驱动程序时,我几乎没有猜到。

请不要写太复杂的东西,或者你不需要知道什么时候使用高编程语言和winapi函数。我想知道,这是为了学习。

因此,操作系统和 PC(我指的是 PC,当然是硬件)的基本结构是我所看到的,除了直接 CPU 命令之外,CPU 可以自行执行所有命令(算术运算、其寄存器访问和内存访问) ) 必须通过操作系统。主要是因为从第 3 级环开始,您不能使用用于对其他硬件进行访问的输入和输出指令。我知道有MMIO,但必须先通过端口通信设置。

并非一直都是这样。即使我还记得MSDOS,我还很年轻,我知道您可以直接访问HW,因为没有限制,没有响铃模式。所以你可以使用其他DOS函数写字符串来显示,或者直接访问显卡内存并自己写。

但是随着操作系统的发展,已经没有这种可能了。但这很好,因为操作系统现在处理所有硬件通信,坦率地说,它在多任务环境中更方便和更安全(我会说唯一的选择)。因此,现在您不再使用 int 指令来使用 BIOS 映射函数或 DOS 函数,而是调用 dll 在内部而不是处理您不需要知道的所有内容。

我明白这一点。我还理解设备驱动程序是在环级别 0 中运行的一段代码,因此它可以完成所有硬件交互。但我不明白的是操作系统和设备驱动程序之间的连接。举个例子——我想让声卡发出声音。所以我调用windows API来访问声卡,但是会发生什么呢?Windows会调用设备驱动程序吗?

但是如果它确实调用了设备驱动程序,是否意味着所有可以被winAPI函数调用的设备驱动程序都必须具有以某种特定方式命名的例程?我的意思是,当我有新的声卡时,它的驱动程序必须具有与旧声卡相同的功能吗?那么Windows实际上可以从它的角度调用相同的函数吗?但是,如果 Windows 已经预定义了设备驱动程序所需的功能集,那么它就不能使用在最新版本的操作系统出现之前不存在的新驱动程序。

请帮我理解这个烂摊子。我真的要生气了。谢谢。

0 投票
2 回答
360 浏览

device-driver - 有多少种驱动程序?

设备驱动,不知道有没有其他的驱动

0 投票
2 回答
13720 浏览

java - 枚举外部驱动器

在java中,您可以使用File.listRoots()获取系统中的所有驱动器。

我希望只获得外部驱动器,即 USB 驱动器、外部硬盘、光驱、软盘等。

有没有办法在java中做到这一点?如果没有,本机 C++ 代码也会很好。在这种情况下,我需要 Windows 和 Linux 代码。

0 投票
4 回答
2438 浏览

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

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

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

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

0 投票
4 回答
4734 浏览

c++ - libxerces-c 的链接/版本问题

我正在尝试制作一个工具包的示例,但在输入 make 后,我收到以下错误:

我安装了以下版本;

我试图通过以下方式进行符号链接:

但没有任何改变。我想我需要确定安装目录的路径,但我在这个问题上没有太多经验,所以如果有人能帮我找出来,我会很高兴。

我的makefile是这样的;

问候。

0 投票
2 回答
2545 浏览

driver - 设备驱动程序与驱动程序堆栈

驱动程序(设备驱动程序)和驱动程序堆栈有什么区别?我一直听到人们谈论“驱动程序堆栈”,但我以前从未真正听说过这个......谢谢!

0 投票
1 回答
2560 浏览

drivers - ATA TRIM 规范?

有人知道我在哪里可以找到详细说明触发 TRIM 的协议的 ATA 参考资料吗?我正在寻找我需要在原始 IOCTL 中发送什么样的结构/对象/数据才能让 ATA 设备触发 TRIM(显然,假设有适当的硬件/固件支持)。

谢谢。

0 投票
3 回答
20224 浏览

windows - 用于转储设备管理器中显示的所有设备属性的命令行工具

在设备管理器中,单击特定设备会将您带到一个对话框,其详细信息选项卡显示设备的各种属性。是否有命令行工具可以将其转储出来?我需要区分两个设备的所有属性。