如何在C#中使用SafeBuffer

时间:2010-09-06 14:54:56

标签: c# buffer

如何使用SafebUffer的简单示例是什么?也就是说,我如何创建和初始化一个? MSDN文档似乎没有显示这一点。

1 个答案:

答案 0 :(得分:6)

你不能,这是一个抽象的类。唯一可见的具体实现是SafeMemoryMappedViewHandle,它是System.IO.MemoryMappedFiles命名空间中的类的辅助类。它有一个不可访问的构造函数,因为它只能通过使内存映射文件工作的管道正确初始化。

用例是一个IntPtr,它映射到由句柄管理的非托管内存。例如,在Windows API,MapViewOfFile或GlobalAllocPtr中相当罕见。如果你想创建自己的,那么你必须从SafeBuffer派生,这样你就可以调用它的构造函数并调用,例如,AcquirePointer。大多数这是不安全的。你真的试图做什么?