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)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
CreateWaitHandle()
已淘汰.
已淘汰.
已淘汰.

配置 WaitHandle 物件。

(繼承來源 Stream)
Dispose()

釋放 Stream 所使用的所有資源。

(繼承來源 Stream)
Dispose(Boolean)

釋放 UnmanagedMemoryStream 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 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()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
Initialize(Byte*, Int64, Int64, FileAccess)

使用 Unmanaged 記憶體位置的指標,初始化 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)
ReadAtLeast(Span<Byte>, Int32, Boolean)

至少會從目前的資料流程讀取位元組數目,並將資料流程中的位置前移為讀取的位元組數目。

(繼承來源 Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

以非同步方式從目前資料流程讀取至少位元組數目、依讀取的位元組數目將資料流程中的位置往前移,並監視取消要求。

(繼承來源 Stream)
ReadByte()

從資料流讀取一個位元組,並將資料流的位置推進一個位元組;如果在資料流結尾,則傳回 -1。

(繼承來源 UnmanagedMemoryStream)
ReadExactly(Byte[], Int32, Int32)

count從目前的資料流程讀取位元組數目,並將資料流程中的位置往前移。

(繼承來源 Stream)
ReadExactly(Span<Byte>)

從目前的資料流程讀取位元組,並將資料流程內的位置往前移,直到 buffer 填滿為止。

(繼承來源 Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

以非同步方式從目前資料流程讀取 count 位元組數目、將資料流程內的位置往前移,以及監視取消要求。

(繼承來源 Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

以非同步方式從目前的資料流程讀取位元組、將資料流程內的位置往前移,直到 buffer 填滿為止,並監視取消要求。

(繼承來源 Stream)
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)

設定如何執行從非同步可處置項目傳回的工作 await。

適用於

另請參閱