我有一个视频采集卡,它通过定期用图像数据填充用户指定的缓冲区(给定的内存地址)来工作。这在 C++ 中对我有用,因为我可以给它一个 Surface.lpSurface 指针地址,并且采集卡驱动程序会自动在每一帧用新的图像数据填充它,在这些数据上我可以翻转()并获取新图像,从而导致一个漂亮干净的视频源。
问题是我正在移植到 C# 并且我需要能够做同样的事情,但是 DirectDraw.Surface 的托管版本没有用于获取表面内存区域的内存地址的方法/属性。我只需要这个地址,有没有办法使用 C# 获取它?