【问题标题】:Reading the data from USB device using libusb使用 libusb 从 USB 设备读取数据
【发布时间】:2010-10-27 13:40:56
【问题描述】:
[DllImport("winusb.dll", SetLastError = true)]
internal static extern Boolean WinUsb_ReadPipe(IntPtr InterfaceHandle, Byte PipeID, 
ref Byte Buffer, UInt32 BufferLength, ref UInt32 LengthTransferred, IntPtr Overlapped);

我正在使用 API 从 USB 设备读取异步数据,它大部分时间都在 32 位操作系统中工作。但在 64 位系统上大部分时间都失败了。

如果这是 API 定义、固件或其他方面的问题,谁能指导我?

【问题讨论】:

标签: c# usb libusb


【解决方案1】:

除了导入之外,您没有显示任何代码。我的直接问题是您是否在 64 位系统上链接到 winusb.dll 的 64 位版本?如果您的应用程序是为Any CPU 编译的,则将在 64 位操作系统上以 64 位模式运行,并且无法 P/Invoke 到 32 位库中。

【讨论】:

  • 它使用 AnyCPU 选项编译,有时我得到 LengthTransferred > 0 但有时它停留在 0 长度。
猜你喜欢
  • 1970-01-01
  • 2015-04-16
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 2013-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多