问题标签 [driver]

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 回答
2087 浏览

windows - 从 32 位应用程序使用 64 位驱动程序

我有一个必须以 32 位运行的 Windows 应用程序(因为我无法控制其他限制)。但是,我的应用程序必须调用和访问可能是 32 位或 64 位的驱动程序,具体取决于安装它的系统。

我通过 DeviceIoControl() 调用访问驱动程序,交换包含文件中声明的数据结构。数据结构包含声明为“DWORD_PTR”的字段(我也不控制的包含文件)。

我的问题是在 64 位系统上,驱动程序期望结构包含 64 位整数(因为 DWORD_PTR 声明)。但是,我的 32 位程序将那些 DWORD_PTR 视为 32 位整数。然后,我的数据结构的程序版本与驱动程序对这些结构的理解之间存在数据不匹配。

DeviceIoControl() 最终以 ERROR_INSUFFICIENT_BUFFER 失败(传递给系统调用的数据区域太小)。我确认如果我将 64 位版本的结构传递给驱动程序,我不会收到此错误。

从这个烂摊子中我有一些丑陋的选择。但我想知道是否有人有更好的建议?


解决方案:

  • 使用 REAL 64 位数据字段 (__int64) 声明共享结构的新副本
  • 动态检查操作系统架构 (32/64)
  • 对 DeviceIoControl() 调用使用 32 位或 64 位版本的结构。

缺点:

  • 我必须手动维护结构声明的显式 64 位副本。随着时间的推移,这可能会很痛苦。

我的其他解决方案是这个解决方案的变体,但它们总是涉及维护结构定义的一些副本(例如在用于 COM 服务器的 IDL 选项中)。

编辑:这是一个 Microsoft 驱动程序,它似乎不使用 IoIs32bitsProcess(irp)!

0 投票
1 回答
625 浏览

postgresql - 持久数据源驱动程序

我是新手,我做了 helloWorld 教程,顺便说一句,非常令人印象深刻,但我现在正试图连接到一个真正的 postgres 数据库,当我觉得它应该很简单时,我发现自己正在努力让驱动程序被识别。

我将所有用于 postgres 的 jdbc 驱动程序放到了 persevere/lib 文件夹中:

  • postgresql-8.3-603.jdbc2ee.jar
  • postgresql-8.3-603.jdbc2.jar
  • postgresql-8.3-603.jdbc3.jar
  • postgresql-8.3-603.jdbc4.jar

然而,当我开始坚持使用命令“persvr”时,我的项目文件夹中没有任何参数,我收到以下错误消息:

我实际上是在尝试将 helloWorld 项目扩展为一个练习,所以我在我的 helloWorld/WEB-INF/config 文件夹中添加了一个 postgres.json 文件。这是该文件的内容:

谁能告诉我为什么坚持找不到那个postgres驱动程序?

谢谢,兰斯洛特。

0 投票
1 回答
602 浏览

windows - 如何检查是否使用 Perl 加载了 Windows 设备驱动程序?

我想知道如何检查是否使用 Perl 加载了设备驱动程序?操作系统是 Windows Server 2003,我有兴趣查看特定视频卡的驱动程序是否正确加载。

0 投票
1 回答
300 浏览

c++ - 编译Platform SDK程序的问题

我正在尝试从这里编译示例;

http://msdn.microsoft.com/en-us/library/ms682619(VS.85).aspx

我已经安装了 Platform SDK,但出现了这些错误;

有人知道如何正确编译吗?

0 投票
3 回答
148 浏览

linux - 更改在 linux 上使用 JFS 驱动程序启动的参数

我更喜欢 QNX 操作系统,我可以在启动时更改 ide 驱动程序的参数。我想为安装闪存卡的 jfs 文件系统更改在 linux 内核中启动的参数。我似乎无法为这些信息找到一个好的网络资源,但我确信我没有“谷歌搜索”它是正确的。

jfs/ide 驱动程序有哪些不同的可用选项,我在哪里为当前正在运行的驱动程序更改它们?

谢谢你,我很抱歉这不完全是编程,但是当我问一个编程问题时,这个网站总是能给出很好的答案,所以我认为它在这里也可能有帮助。

0 投票
3 回答
15523 浏览

macos - Mac上如何获取显示驱动版本?

如何在 Mac 上以编程方式获取显示驱动程序版本?


有关的:

0 投票
2 回答
1370 浏览

java - mysql驱动jar不被识别

我在 jar 文件中有一个令牌类文件。令牌类文件是使用 jdbc 从数据库中检索数据的类。但是,当我调用 jar 文件时,它似乎无法识别外部 mysql 驱动程序 jar 文件。

错误指向这一行 Class.forName(driver);。

我已经在 ant 构建文件和我能想到的每个类路径中引用了 mysql 驱动程序。

没有任何工作?任何帮助,将不胜感激。

谢谢

java.lang.ClassNotFoundException:java.net.URLClassLoader.findClass(URLClassLoader.java:188) 的 java.security.AccessController.doPrivileged(Native Method) 的 java.net.URLClassLoader$1.run(URLClassLoader.java:200) 的 mysql在 java.lang.ClassLoader.loadClass(ClassLoader.java:316) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:288) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:251) 在 java。 lang.ClassLoader.loadClassInternal(ClassLoader.java:374) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at socksviahttp.server.token.getConnection(token. java:58) 在 socksviahttp.server.token.exists(token.java:75) 在 socksviahttp.server.ServletSocks.doPost(ServletSocks.java:328) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:760 ) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 在 jhttpserver.JHttpServerThread.run(JHttpServerThread.java:217)

0 投票
2 回答
1088 浏览

c - 在 Visual Studio 2005 中使用 WinDDK 测试实用程序

我目前正在尝试运行 WinDDK 2003 提供的 NdisProt 驱动程序。我已经成功构建并安装了驱动程序。

它带有一个名为 uiotest 的测试实用程序

当我使用 make 构建实用程序时,它可以正常运行。

当我使用 Visual Studio 2005 创建一个空白的 win32 应用程序解决方案时,它无法在CreateFile( "\\.\\NdisProt"[...])` 期间连接到驱动程序。该调用始终返回无效句柄。我怀疑我的项目与使用 make 构建的项目不完全相同。这是make使用的“源”文件的内容

我已经添加了 lib 路径和包含路径到我的项目

这是从 ddk 环境中获得回报的原因

我不太确定要检查什么才能知道发生了什么,所以任何帮助都会很明显。新项目编译并运行,但CreateFile()失败并显示 INVALID_HANDLE_VALUE

0 投票
3 回答
6282 浏览

windows - 内核模式驱动程序写入文件

我正在开发 Windows 键盘过滤器驱动程序,我需要写入文件。我尝试使用 zwcreate、zwwrite 和 zwclose,但驱动程序没有在 PASSIVE_LEVEL 运行,我得到了 BSOD。我以前从未编写过 Windows 驱动程序。谢谢您的帮助!

编辑:谢谢 J. 通过!

0 投票
3 回答
1999 浏览

driver - 如何让我的驱动程序 WHQL 为 Vista 64 签名?

我有一个驱动程序,我的公司已经为我们的客户使用了几年。在 Vista 64 下无法再安装驱动程序。我认为我需要对驱动程序进行签名,但我不确定如何开始。

  • 最好的起点是什么?
  • 这通常需要多长时间?
  • 我需要向 Microsoft 发送什么?
  • 有第三方愿意为我们做这一切吗?
  • 这个过程(有或没有第三方)通常需要多少费用?