Freigeben über


CMemFile-Klasse

Die C-Datei von abgeleitete Klasse, die Arbeitsspeicherdateien unterstützt.

class CMemFile : public CFile

Mitglieder

tzdxd4x0.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Description

CMemFile::CMemFile

Erstellt ein Arbeitsspeicherdateiobjekt.

tzdxd4x0.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Description

CMemFile::Attach

Fügt ein Speicherblock mit CMemFile an.

CMemFile::Detach

Trennt den Speicherblock von CMemFile und gibt einen Zeiger auf getrennten Speicherblock zurück.

tzdxd4x0.collapse_all(de-de,VS.110).gifGeschützte Methoden

Name

Description

CMemFile::Alloc

Überschreiben Sie, um des Speicherbelegungsverhaltens zu ändern.

CMemFile::Free

Überschreiben Sie, um des Arbeitsspeicherfreigabenverhaltens zu ändern.

CMemFile::GrowFile

Überschreiben Sie, um das Verhalten zu ändern, wenn eine Datei gewachsen wird.

CMemFile::Memcpy

Überschreiben Sie, um des Arbeitsspeicherkopienverhaltens zu ändern, wenn Dateien gelesen und geschrieben werden.

CMemFile::Realloc

Überschreiben Sie, um des Arbeitsspeicherneuzuordnungsverhaltens zu ändern.

Hinweise

Diese Arbeitsspeicherdateien verhalten sich wie Datenträgerdateien, außer dass die Datei wird in RAM statt auf einem Datenträger gespeichert.Eine Arbeitsspeicherdatei ist für schnelle temporäre Speicherung oder zum Übertragen von unformatierten Bytes oder serialisierter Objekten zwischen unabhängige Prozesse hilfreich.

CMemFile-Objekte können ihren eigenen Speicher automatisch zuordnen, oder einen eigenen Speicherblock zum CMemFile-Objekt anfügen, indem Sie Anfügen aufrufen.In jedem Fall wird für das nicht der Arbeitsspeicherdatei automatisch in groß Inkrementen nGrowBytes zugeordnet, wenn nGrowBytes nicht Null ist.

Der Speicherblock ist automatisch nach Zerstörung des CMemFile-Objekts gelöscht, wenn der Arbeitsspeicher ursprünglich durch das CMemFile-Objekt zugeordnet wurde, Andernfalls würden Sie zum Freigeben des Arbeitsspeichers verantwortlich, den Sie dem Objekt angefügt wurde.

Sie können auf den Speicherblock durch den Zeiger zugreifen, der angegeben wird, wenn Sie ihn im CMemFile-Objekt trennen, indem Sie Trennen Sie sich aufrufen.

Die häufigste Verwendung von CMemFile ist ein Objekt, CMemFile zu erstellen und es zu verwenden, indem sie Die C-Datei-Memberfunktionen aufruft.Beachten Sie, dass CMemFile öffnet erstellt es automatisch: Sie rufen nicht CFile::Open auf, für das nur Datenträgerdateien verwendet wird.Da CMemFile keine Datenträgerdatei verwendet, wird der Datenmember CFile::m_hFile nicht verwendet und keine gültig.

Die CFile-Memberfunktionen Duplikat, LockRange und UnlockRange werden nicht für CMemFile implementiert.Wenn Sie aufrufen, gelten diese Funktionen auf CMemFile, erhalten Sie CNotSupportedException ein.

CMemFile verwendet die Laufzeitbibliotheksfunktionen malloc, realloc und frei, Speicher zuzuordnen, neu belegen und freizugeben, und die systeminterne Funktion memcpy, um das Kopienarbeitsspeichers beim Lesen und Schreiben zu sperren.Wenn Sie dieses Verhalten oder das Verhalten zu ändern, wenn CMemFile eine Datei vergrößert, leiten Sie die eigene Klasse von CMemFile und überschreiben Sie die entsprechenden Funktionen.

Weitere Informationen zu CMemFile, finden Sie in Artikel Dateien in MFC und Speicherverwaltung (MFC) und Datei-Behandlung finden Sie unter in der Laufzeitbibliotheksreferenz.

Vererbungshierarchie

CObject

Die C-Datei

CMemFile

Anforderungen

Header: afx.h

Siehe auch

Referenz

Die C-Datei Klasse

Hierarchien-Diagramm