1

我正在为 KVM 编写一些概念验证代码,用于 Windows 10 和主机 Linux 系统之间的通信。

我拥有的是一个虚拟 RAM 设备,它实际上连接到主机上的共享内存段。PCIe BAR 2 直接映射到此 RAM。

我的目的是提供一种不涉及其他常用方法(套接字等)的高带宽低延迟数据传输方法。ZeroCopy 将是理想的。

到目前为止,我几乎完成了所有工作,我编写了一个驱动程序,该驱动程序调用MmAllocateMdlForIoSpace然后MmMapLockedPagesSpecifyCache通过DeviceIOControl. 这完美地工作,用户模式应用程序能够寻址共享内存并写入它。

我缺少的是CreateFileMapping在用户模式下使用来获取HANDLE此内存的映射的​​能力。我对 Windows 驱动程序编程相当陌生,因此我不确定这是否可能。关于实现这一目标的最佳方法的任何指示都会非常有帮助。

4

0 回答 0