2

读了一点之后,我担心我的 32 位 Delphi 应用程序将无法在 Windows 7 和其他 64 位 Windows 系统上使用libusb 64 位驱动程序,并且无法与我的自定义硬件对话这些系统上的设备。这是真的?如果是,是否有一些解决方法?我在这张照片中遗漏了什么吗?

4

3 回答 3

5

究竟是什么让你认为它不会?如果您有 64 位驱动程序,则它可在 64 位系统上使用(假设驱动程序工作正常且已正确签名)。32 位和 64 位应用程序都可以通过各种通信机制(例如 Ioctl 或 MMF 文件)控制驱动程序。问题是代码的所有部分是否正确编写,但这个问题适用于任何库和任何平台

于 2011-01-26T09:47:20.750 回答
4

在带有 WinUSB 后端(Windows 中包含的 Microsoft 驱动程序)的 libusb 1.0 上,我们从 x86 应用程序(C# 应用程序使用的托管 c++ 库)与其通信没有问题。x86 和 x64 平台上的行为相同。

我不知道 libusb 0.1(能够使用 libusb-win32 内核驱动程序的旧版本),但是作为您指向 1.0 版本的链接,您似乎没有使用它。

在某些时候,libusb 1.0 将支持 libusb-win32 内核驱动程序,但除非在特定情况下没有必要(WinUSB 有一些限制,但我从未遇到过)

于 2011-01-26T09:54:40.733 回答
2

我在带有 delphi 32 位应用程序的 Win7 64 位笔记本电脑上成功使用了libusb-win32 。到目前为止没有问题。驱动程序也已签名(只有我的 .inf 文件没有)。

请注意,libusb-win32 使用“旧”的 libusb API。

于 2011-01-26T14:30:20.293 回答