MemoryMappedFile.CreateViewAccessor 方法

定義

建立對應於記憶體對應檔檢視的 MemoryMappedViewAccessor

多載

CreateViewAccessor()

建立對應於記憶體對應檔檢視的 MemoryMappedViewAccessor

CreateViewAccessor(Int64, Int64)

建立 MemoryMappedViewAccessor,此存取子可對應到記憶體對應檔案的檢視,並且有指定的位移和大小。

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

建立 MemoryMappedViewAccessor,此存取子可對應到記憶體對應檔案的檢視,並且有指定位移、大小和存取限制。

CreateViewAccessor()

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

建立對應於記憶體對應檔檢視的 MemoryMappedViewAccessor

public:
 System::IO::MemoryMappedFiles::MemoryMappedViewAccessor ^ CreateViewAccessor();
public System.IO.MemoryMappedFiles.MemoryMappedViewAccessor CreateViewAccessor ();
member this.CreateViewAccessor : unit -> System.IO.MemoryMappedFiles.MemoryMappedViewAccessor
Public Function CreateViewAccessor () As MemoryMappedViewAccessor

傳回

記憶體隨機存取區塊。

例外狀況

未授權存取記憶體對應檔案。

備註

您可以使用此方法所傳回的檢視,以隨機存取記憶體對應檔案。

另請參閱

適用於

CreateViewAccessor(Int64, Int64)

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

建立 MemoryMappedViewAccessor,此存取子可對應到記憶體對應檔案的檢視,並且有指定的位移和大小。

public:
 System::IO::MemoryMappedFiles::MemoryMappedViewAccessor ^ CreateViewAccessor(long offset, long size);
public System.IO.MemoryMappedFiles.MemoryMappedViewAccessor CreateViewAccessor (long offset, long size);
member this.CreateViewAccessor : int64 * int64 -> System.IO.MemoryMappedFiles.MemoryMappedViewAccessor
Public Function CreateViewAccessor (offset As Long, size As Long) As MemoryMappedViewAccessor

參數

offset
Int64

檢視會在此處開始的位元組。

size
Int64

檢視的大小。 指定 0 (零),建立在 offset 開始,而大約在記憶體對應檔結尾結束的檢視。

傳回

記憶體隨機存取區塊。

例外狀況

offsetsize 為負值。

-或-

size 大於邏輯位址空間。

未授權存取記憶體對應檔案。

發生 I/O 錯誤。

範例

下列範例會建立記憶體對應檔案的檢視,並加以編輯。 此程式碼範例是提供給 類別之較大範例的 MemoryMappedFile 一部分。

// Create a random access view, from the 256th megabyte (the offset)
// to the 768th megabyte (the offset plus length).
using (var accessor = mmf.CreateViewAccessor(offset, length))
{
    int colorSize = Marshal.SizeOf(typeof(MyColor));
    MyColor color;

    // Make changes to the view.
    for (long i = 0; i < length; i += colorSize)
    {
        accessor.Read(i, out color);
        color.Brighten(10);
        accessor.Write(i, ref color);
    }
}
' Create a random access view, from the 256th megabyte (the offset)
' to the 768th megabyte (the offset plus length).
Using accessor = mmf.CreateViewAccessor(offset, length)
    Dim colorSize As Integer = Marshal.SizeOf(GetType(MyColor))
    Dim color As MyColor
    Dim i As Long = 0

    ' Make changes to the view.
    Do While (i < length)
        accessor.Read(i, color)
        color.Brighten(10)
        accessor.Write(i, color)
        i += colorSize
    Loop
End Using

備註

您可以使用此方法所傳回的檢視,以隨機存取記憶體對應檔案。

若要建立記憶體對應檔案的完整檢視,請為 size 參數指定 0 (零) 。 如果您這樣做,檢視的大小可能會大於磁片上來源檔案的大小。 這是因為檢視是以系統頁面的單位提供,而檢視的大小會四捨五入到下一個系統頁面大小。

另請參閱

適用於

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

建立 MemoryMappedViewAccessor,此存取子可對應到記憶體對應檔案的檢視,並且有指定位移、大小和存取限制。

public:
 System::IO::MemoryMappedFiles::MemoryMappedViewAccessor ^ CreateViewAccessor(long offset, long size, System::IO::MemoryMappedFiles::MemoryMappedFileAccess access);
public System.IO.MemoryMappedFiles.MemoryMappedViewAccessor CreateViewAccessor (long offset, long size, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access);
[System.Security.SecurityCritical]
public System.IO.MemoryMappedFiles.MemoryMappedViewAccessor CreateViewAccessor (long offset, long size, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access);
member this.CreateViewAccessor : int64 * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess -> System.IO.MemoryMappedFiles.MemoryMappedViewAccessor
[<System.Security.SecurityCritical>]
member this.CreateViewAccessor : int64 * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess -> System.IO.MemoryMappedFiles.MemoryMappedViewAccessor
Public Function CreateViewAccessor (offset As Long, size As Long, access As MemoryMappedFileAccess) As MemoryMappedViewAccessor

參數

offset
Int64

檢視會在此處開始的位元組。

size
Int64

檢視的大小。 指定 0 (零),建立在 offset 開始,而大約在記憶體對應檔結尾結束的檢視。

access
MemoryMappedFileAccess

其中一個列舉值,指定記憶體對應檔允許的存取類型。 預設為 ReadWrite

傳回

記憶體隨機存取區塊。

屬性

例外狀況

offsetsize 為負值。

-或-

size 大於邏輯位址空間。

access 是無效的記憶體對應檔案。

發生 I/O 錯誤。

備註

您可以使用此方法所傳回的檢視,以隨機存取記憶體對應檔案。

若要建立記憶體對應檔案的完整檢視,請為 size 參數指定 0 (零) 。 如果您這樣做,檢視的大小可能會大於磁片上來源檔案的大小。 這是因為檢視是以系統頁面的單位提供,而檢視的大小會四捨五入到下一個系統頁面大小。

另請參閱

適用於