MemoryMappedViewStream 类

定义

将内存映射文件的视图表示为按顺序访问的流。

public ref class MemoryMappedViewStream sealed : System::IO::UnmanagedMemoryStream
public sealed class MemoryMappedViewStream : System.IO.UnmanagedMemoryStream
type MemoryMappedViewStream = class
    inherit UnmanagedMemoryStream
Public NotInheritable Class MemoryMappedViewStream
Inherits UnmanagedMemoryStream
继承
MemoryMappedViewStream
继承

示例

以下示例获取内存映射文件的一个 MemoryMappedViewStream 值,并将一个值写入流以便进行进程间通信。

此代码示例是为 MemoryMappedFile.CreateNew 该方法提供的大型示例的一部分。

using (MemoryMappedViewStream stream = mmf.CreateViewStream())
{
    BinaryWriter writer = new BinaryWriter(stream);
    writer.Write(1);
}
Using Stream As MemoryMappedViewStream = mmf.CreateViewStream()
    Dim writer As BinaryWriter = New BinaryWriter(Stream)
    writer.Write(1)
End Using

注解

CreateViewStream使用对象的方法来MemoryMappedFile获取此流。

属性

CanRead

获取一个值,该值指示流是否支持读取。

(继承自 UnmanagedMemoryStream)
CanSeek

获取一个值,该值指示流是否支持查找。

(继承自 UnmanagedMemoryStream)
CanTimeout

获取一个值,该值确定当前流是否可以超时。

(继承自 Stream)
CanWrite

获取一个值,该值指示流是否支持写入。

(继承自 UnmanagedMemoryStream)
Capacity

获取流的长度(大小)或分配给流的内存总量(容量)。

(继承自 UnmanagedMemoryStream)
Length

获取流中数据的长度。

(继承自 UnmanagedMemoryStream)
PointerOffset

获取此视图的开始位置相对于内存映射文件的开头进行偏移的字节数。

Position

获取或设置流中的当前位置。

(继承自 UnmanagedMemoryStream)
PositionPointer

获取或设置基于流中当前位置的指向流的字节指针。

(继承自 UnmanagedMemoryStream)
ReadTimeout

获取或设置一个值(以毫秒为单位),该值确定流在超时前将尝试读取的时间。

(继承自 Stream)
SafeMemoryMappedViewHandle

获取内存映射文件的视图的句柄。

WriteTimeout

获取或设置一个值(以毫秒为单位),该值确定流在超时前将尝试写入多长时间。

(继承自 Stream)

方法

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

开始异步读操作。 (请考虑改用 ReadAsync(Byte[], Int32, Int32)。)

(继承自 Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

开始异步写操作。 (请考虑改用 WriteAsync(Byte[], Int32, Int32)。)

(继承自 Stream)
Close()

关闭当前流并释放与之关联的所有资源(如套接字和文件句柄)。 不直接调用此方法,而应确保流得以正确释放。

(继承自 Stream)
CopyTo(Stream)

从当前流中读取字节并将其写入到另一流中。

(继承自 Stream)
CopyTo(Stream, Int32)

使用指定的缓冲区大小,从当前流中读取字节并将其写入到另一流中。

(继承自 Stream)
CopyToAsync(Stream)

从当前流中异步读取字节并将其写入到另一个流中。

(继承自 Stream)
CopyToAsync(Stream, CancellationToken)

通过指定的取消令牌,从当前流中异步读取字节并将其写入到另一个流中。

(继承自 Stream)
CopyToAsync(Stream, Int32)

使用指定的缓冲区大小,从当前流中异步读取字节并将其写入到另一流中。

(继承自 Stream)
CopyToAsync(Stream, Int32, CancellationToken)

使用指定的缓冲区大小和取消令牌,从当前流中异步读取字节并将其写入到另一个流中。

(继承自 Stream)
CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject)
CreateWaitHandle()
已过时。
已过时。

分配 WaitHandle 对象。

(继承自 Stream)
Dispose()

释放由 Stream 使用的所有资源。

(继承自 Stream)
Dispose(Boolean)

释放由 UnmanagedMemoryStream 占用的非托管资源,还可以另外再释放托管资源。

(继承自 UnmanagedMemoryStream)
DisposeAsync()

异步释放 Stream 使用的非托管资源。

(继承自 Stream)
EndRead(IAsyncResult)

等待挂起的异步读取完成。 (请考虑改用 ReadAsync(Byte[], Int32, Int32)。)

(继承自 Stream)
EndWrite(IAsyncResult)

结束异步写操作。 (请考虑改用 WriteAsync(Byte[], Int32, Int32)。)

(继承自 Stream)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Flush()

清除此流的所有缓冲区,使得所有缓冲的数据都被写入到基础文件。

FlushAsync()

异步清除此流的所有缓冲区并导致所有缓冲数据都写入基础设备中。

(继承自 Stream)
FlushAsync(CancellationToken)

重写 FlushAsync(CancellationToken) 方法,以便取消操作(如果已指定),但不执行其他任何操作。

(继承自 UnmanagedMemoryStream)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetLifetimeService()
已过时。

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetType()

获取当前实例的 Type

(继承自 Object)
Initialize(Byte*, Int64, Int64, FileAccess)

使用指向非托管内存位置的指针初始化 UnmanagedMemoryStream 类的新实例。

(继承自 UnmanagedMemoryStream)
Initialize(SafeBuffer, Int64, Int64, FileAccess)

在具有指定的偏移量、长度和文件访问的安全缓冲区中初始化 UnmanagedMemoryStream 类的新实例。

(继承自 UnmanagedMemoryStream)
InitializeLifetimeService()
已过时。

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
ObjectInvariant()
已过时。

提供对 Contract 的支持。

(继承自 Stream)
Read(Byte[], Int32, Int32)

将指定数量的字节读入指定的数组。

(继承自 UnmanagedMemoryStream)
Read(Span<Byte>)

将此非管理的内存流的所有字节读入指定的字节跨度。

(继承自 UnmanagedMemoryStream)
ReadAsync(Byte[], Int32, Int32)

从当前流异步读取字节序列,并将流中的位置提升读取的字节数。

(继承自 Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

将指定数量的字节异步读入指定的数组。

(继承自 UnmanagedMemoryStream)
ReadAsync(Memory<Byte>, CancellationToken)

以异步方式将非管理的内存流字节读入内存区域。

(继承自 UnmanagedMemoryStream)
ReadByte()

从流中读取一个字节,并将流内的位置前移一个字节,或者如果已到达流的末尾,则返回 -1。

(继承自 UnmanagedMemoryStream)
Seek(Int64, SeekOrigin)

将当前流的当前位置设置为给定值。

(继承自 UnmanagedMemoryStream)
SetLength(Int64)

设置当前流的长度。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
Write(Byte[], Int32, Int32)

使用缓冲区中的数据将字节块写入当前流。

(继承自 UnmanagedMemoryStream)
Write(ReadOnlySpan<Byte>)

使用来自提供的字节跨度的数据将字节块写入当前非管理的内存流。

(继承自 UnmanagedMemoryStream)
WriteAsync(Byte[], Int32, Int32)

将字节序列异步写入当前流,并将流的当前位置提升写入的字节数。

(继承自 Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

将字节的序列异步写入当前流,将该流中的当前位置向前移动写入的字节数,并监视取消请求。

(继承自 UnmanagedMemoryStream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

将字节跨度异步写入当前流,按写入的字节数向前移动该流中的当前位置,并监视取消请求。

(继承自 UnmanagedMemoryStream)
WriteByte(Byte)

一个字节写入文件流中的当前位置。

(继承自 UnmanagedMemoryStream)

扩展方法

ConfigureAwait(IAsyncDisposable, Boolean)

配置如何执行从异步可处置项返回的任务的等待。

适用于

另请参阅