.net UnmanagedMemoryStream:在托管代码和本机代码之间读写

.net UnmanagedMemoryStream:在托管代码和本机代码之间读写,.net,stream,thread-safety,streaming,memorystream,.net,Stream,Thread Safety,Streaming,Memorystream,我一直在使用MemoryStream,最近发现了“UnmanagedMemoryStream”,据说它更有效,特别是在处理大型缓冲区时。我的问题是: 是否可以在本机端写入非托管内存流,然后在托管端读取,而不必手动维护本机端流的位置计数 这样做的原因是,我希望写入程序(本机代码)在返回到托管端之前,从上次写入停止的位置进行写入,而读取器(托管代码)从上次读取停止的位置进行读取,而不覆盖数据或读取旧数据。这不能在任何地方进行,它是一个纯托管类。它唯一不受管理的地方是底层存储缓冲区。

我一直在使用MemoryStream,最近发现了“UnmanagedMemoryStream”,据说它更有效,特别是在处理大型缓冲区时。我的问题是:


是否可以在本机端写入
非托管内存流
,然后在托管端读取,而不必手动维护本机端流的
位置
计数

这样做的原因是,我希望写入程序(本机代码)在返回到托管端之前,从上次写入停止的位置进行写入,而读取器(托管代码)从上次读取停止的位置进行读取,而不覆盖数据或读取旧数据。这不能在任何地方进行,它是一个纯托管类。它唯一不受管理的地方是底层存储缓冲区。