MemoryMappedFile.CreateViewAccessor Methode

Definition

Erstellt einen MemoryMappedViewAccessor, der einer Ansicht der Speicherabbilddatei zugeordnet ist.

Überlädt

CreateViewAccessor()

Erstellt einen MemoryMappedViewAccessor, der einer Ansicht der Speicherabbilddatei zugeordnet ist.

CreateViewAccessor(Int64, Int64)

Erstellt ein MemoryMappedViewAccessor, das einer Ansicht der im Speicher abgebildeten Datei zugeordnet ist und über die angegebenen Werte für Offset und Größe verfügt.

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

Erstellt ein MemoryMappedViewAccessor, das einer Ansicht der im Speicher abgebildeten Datei zugeordnet ist und über die angegebenen Werte für Offset, Größe und Zugriffseinschränkungen verfügt.

CreateViewAccessor()

Erstellt einen MemoryMappedViewAccessor, der einer Ansicht der Speicherabbilddatei zugeordnet ist.

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

Gibt zurück

MemoryMappedViewAccessor

Ein Speicherblock mit wahlfreiem Zugriff.

Ausnahmen

Der Zugriff auf Speicherabbilddatei ist nicht zugelassen.

Hinweise

Sie können die von dieser Methode zurückgegebene Ansicht verwenden, um zufälligen Zugriff auf eine Speicherzuordnungsdatei zu erhalten.

Siehe auch

Gilt für

CreateViewAccessor(Int64, Int64)

Erstellt ein MemoryMappedViewAccessor, das einer Ansicht der im Speicher abgebildeten Datei zugeordnet ist und über die angegebenen Werte für Offset und Größe verfügt.

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

Parameter

offset
Int64

Das Byte, ab dem die Ansicht beginnen soll.

size
Int64

Die Größe der Ansicht. Geben Sie 0 (null) an, um eine Ansicht zu erstellen, die bei offset beginnt und ungefähr am Ende der Speicherimagedatei endet.

Gibt zurück

MemoryMappedViewAccessor

Ein Speicherblock mit wahlfreiem Zugriff.

Ausnahmen

offset oder size ist ein negativer Wert.

- oder - size ist größer als der logische Adressbereich.

Der Zugriff auf Speicherabbilddatei ist nicht zugelassen.

E/A-Fehler

Beispiele

Im folgenden Beispiel wird eine Ansicht einer speicherzuordnungen Datei erstellt und bearbeitet. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die MemoryMappedFile Klasse bereitgestellt wird.

// 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

Hinweise

Sie können die von dieser Methode zurückgegebene Ansicht verwenden, um zufälligen Zugriff auf eine Speicherzuordnungsdatei zu erhalten.

Um eine vollständige Ansicht der speicherzuordnungen Datei zu erstellen, geben Sie 0 (Null) für den size Parameter an. Wenn Sie dies tun, ist die Größe der Ansicht möglicherweise größer als die Größe der Quelldatei auf dem Datenträger. Dies liegt daran, dass Ansichten in Einheiten von Systemseiten bereitgestellt werden, und die Größe der Ansicht wird auf die nächste Systemseitengröße aufgerundet.

Siehe auch

Gilt für

CreateViewAccessor(Int64, Int64, MemoryMappedFileAccess)

Erstellt ein MemoryMappedViewAccessor, das einer Ansicht der im Speicher abgebildeten Datei zugeordnet ist und über die angegebenen Werte für Offset, Größe und Zugriffseinschränkungen verfügt.

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

Parameter

offset
Int64

Das Byte, ab dem die Ansicht beginnen soll.

size
Int64

Die Größe der Ansicht. Geben Sie 0 (null) an, um eine Ansicht zu erstellen, die bei offset beginnt und ungefähr am Ende der Speicherimagedatei endet.

access
MemoryMappedFileAccess

Einer der Enumerationswerte, der den zulässigen Zugriffstyp für die Speicherabbilddatei angibt. Der Standardwert ist ReadWrite.

Gibt zurück

MemoryMappedViewAccessor

Ein Speicherblock mit wahlfreiem Zugriff.

Attribute

Ausnahmen

offset oder size ist ein negativer Wert.

- oder - size ist größer als der logische Adressbereich.

access ist für die dem Speicher zugeordnete Datei ungültig.

E/A-Fehler

Hinweise

Sie können die von dieser Methode zurückgegebene Ansicht verwenden, um zufälligen Zugriff auf eine Speicherzuordnungsdatei zu erhalten.

Um eine vollständige Ansicht der speicherzuordnungen Datei zu erstellen, geben Sie 0 (Null) für den size Parameter an. Wenn Sie dies tun, ist die Größe der Ansicht möglicherweise größer als die Größe der Quelldatei auf dem Datenträger. Dies liegt daran, dass Ansichten in Einheiten von Systemseiten bereitgestellt werden, und die Größe der Ansicht wird auf die nächste Systemseitengröße aufgerundet.

Siehe auch

Gilt für