指向非托管DLL的文件流的指针

时间:2014-10-31 17:08:06

标签: c# .net dll unmanaged unmanaged-memory

我有一个第三方非托管DLL,希望我为它们提供一个指针(占用IntPtr)到一个巨大的连续内存块(大约500 MB)。虽然它不会超过我们可以使用的内存量,但通常无法获得连续的内存块而不会出现错误。这个内存块只是一个图像缓冲区,虽然如果我尝试为它提供一个更小的块并且它消耗掉它就不会消耗所有内存它会崩溃。另请注意,大量内存是设备支持的最大大小,但设备在任何给定时间所需的数量取决于用户对设备的操作。

第三方不愿对其DLL进行任何更改。我问他们是否愿意采取文件路径并让DLL将数据转储到硬盘驱动器上的原始文件。

无论如何,我不知道如何说出我要找的东西,我怀疑它甚至可能,但我正在寻找一种传递IntPtr的方法,而不是指向一个连续的块内存指向文件流或直接转到硬盘驱动器上的文件。有可能吗?如果是这样,我需要查看什么样的.Net命名空间。

0 个答案:

没有答案