System::IO::UnmanagedMemoryStream 类

UnmanagedMemoryStream class

提供对非托管内存的访问。此类的对象只能使用 System::MakeObject() 函数进行分配。切勿在栈上或使用 operator new 创建此类型的实例,因为这会导致运行时错误和/或断言故障。始终将此类包装在 System::SmartPtr 指针中,并使用该指针将其作为参数传递给函数。

class UnmanagedMemoryStream : public System::IO::Stream

方法

方法描述
Flush() override不执行任何操作。
get_CanRead() const override确定流是否可读取。
get_CanSeek() const override确定流是否支持定位。
get_CanWrite() const override确定流是否可写。
virtual get_Capacity() const返回底层内存缓冲区的当前容量。
get_Length() const override返回流的字节长度。
get_Position() const override返回流的当前位置。
get_PositionPointer()未实现。
Read(const ArrayPtr<uint8_t>&, int32_t, int32_t) override从流中读取指定数量的字节并将其写入指定的字节数组。
Read(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) override从流中读取指定数量的字节并将其写入指定的字节数组。
Seek(int64_t, SeekOrigin) override设置当前对象所表示的流的位置。
set_Position(int64_t) override设置流的位置。
set_PositionPointer(uint8_t *)未实现。
SetLength(int64_t) override未实现。
UnmanagedMemoryStream(uint8_t *, int64_t)构造一个新的 UnmanagedMemoryStream 实例。
UnmanagedMemoryStream(uint8_t *, int64_t, int64_t, FileAccess)构造一个新的 UnmanagedMemoryStream 实例。
Write(const ArrayPtr<uint8_t>&, int32_t, int32_t) override未实现。
Write(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) override未实现。

字段

字段描述
static Null一个没有底层存储的流。

另见