CMemFile-Klasse
Die C-Datei von abgeleitete Klasse, die Arbeitsspeicherdateien unterstützt.
class CMemFile : public CFile
Mitglieder
Öffentliche Konstruktoren
Name |
Description |
---|---|
Erstellt ein Arbeitsspeicherdateiobjekt. |
Öffentliche Methoden
Name |
Description |
---|---|
Fügt ein Speicherblock mit CMemFile an. |
|
Trennt den Speicherblock von CMemFile und gibt einen Zeiger auf getrennten Speicherblock zurück. |
Geschützte Methoden
Name |
Description |
---|---|
Überschreiben Sie, um des Speicherbelegungsverhaltens zu ändern. |
|
Überschreiben Sie, um des Arbeitsspeicherfreigabenverhaltens zu ändern. |
|
Überschreiben Sie, um das Verhalten zu ändern, wenn eine Datei gewachsen wird. |
|
Überschreiben Sie, um des Arbeitsspeicherkopienverhaltens zu ändern, wenn Dateien gelesen und geschrieben werden. |
|
Ü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
CMemFile
Anforderungen
Header: afx.h