c++ - 如何为 Roland UM 4 实现 MIDI 驱动程序?

标签 c++ c windows driver midi

我的 Roland UM4仅适用于 32 位操作系统,但它是一个很好的硬件,我想如果我能让它工作,那么我就不需要购买新的 MIDI 接口(interface)。

我以前用 C 为操作系统编写过汇编程序,但我从未编写过设备驱动程序。

您能告诉我这是一个可以在 Windows 64 位上完成的项目吗?如果可以,如何完成?我有 Visual Studio 2012,我知道 C/C++,但我以前从未编写过驱动程序。我是否必须了解 x86 汇编程序才能编写设备驱动程序,还是 C/C++ 就足够了?

最佳答案

因为它是一个 USB 设备,我希望它只使用标准的 USB MIDI 类。但它会奏效,所以我想它不会。真可惜。

要实现驱动程序,您需要对 32 位驱动程序和硬件之间的 USB 协议(protocol)进行逆向工程。

这不是 super 简单(我没有做过,但我有一些知识)。您必须捕获流量,这通常是通过 USB protocol analyzer 完成的。 , 这并不便宜。我认为它可以在中间使用普通 PC(可能运行 Linux)来完成,但这也可能变得有点复杂。

因此,这里的限制因素可能不是您的编程技能本身,而是逆向工程很难这一事实。

关于c++ - 如何为 Roland UM 4 实现 MIDI 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17421932/

相关文章:

c++ - 如何提高与 std::vector 共享内存的数据映射(Eigen::Map)矩阵的 GEMM 性能?

python - 检查 PyObjects C 类型

c++ - 输出流中的函数调用优先级

c - 逻辑与运算符

c - 使用 c 和位移来解决特定需求

c - 谁使用 POSIX 实时信号,为什么?

c++ - 模板函数在读取时返回错误值

c++ - 如何在 Window (Win32) 中保留自定义文本

windows - 在 Windows 上以管理员身份运行时无法识别“choco”命令

windows - Windows GUI 中的 Unix 工具