
CSharedFile ist die CMemFile-abgeleitete Klasse, die unterstützt shared-Memory-Dateien. Speicherdateien Verhalten sich wie Datenträgerdateien mit der Ausnahme, dass die Datei im Arbeitsspeicher anstatt auf der Festplatte gespeichert ist. Eine Speicherdatei ist nützlich für schnelle temporäre Speicherung oder Übertragung von unformatierten Bytes oder serialisierten Objekten zwischen unabhängigen Prozessen.
Shared-Memory-Dateien unterscheiden sich von anderen Speicherdateien, Speicher für sie reserviert wird, mit der GlobalAlloc -Funktion von Windows. Klasse CSharedFile speichert Daten in einer Global reservierten Speicherblocks (mit GlobalAllocerstellt), und dieser Speicherblock freigegeben werden kann, mithilfe von DDE, der Zwischenablage oder andere OLE/COM einheitliche Datenübermittlungen, z. B. unter Verwendung der IDataObject.
GlobalAlloc gibt ein HGLOBAL handle anstatt einen Zeiger auf den Speicher, z. B. von zurückgegebene Zeiger Malloc. Das HGLOBAL -Handle wird in bestimmten Anwendungen benötigt. Z. B. Daten in der Zwischenablage abzulegen benötigen Sie einen HGLOBAL -handle.
Bitte beachten Sie, dass CSharedFile keine Memory-mapped-Dateien verwendet, und die Daten können nicht direkt zwischen Prozessen freigegeben werden.
CSharedFile Objekte können automatisch ihre eigenen Speicher zuweisen oder können Sie Ihr eigenes Speicherblock auf das CSharedFile -Objekt durch Aufrufen von CSharedFile::SetHandle. In jedem Fall Speicher für den Anbau der Speicherdatei automatisch zugewiesen wird, in nGrowBytes-Größe erhöht, wenn nGrowBytes nicht NULL ist.
Weitere Informationen finden Sie im Artikel Dateien in MFC in Visual C++ Programmer's Guide und in der Run-Time Library Reference File Handling.
# include lt;afxadv.h>
Klasse&nmember |nbsp; Basisklasse | Hierarchiediagramm
Siehe auch&Nbsp;CMemFile, GlobalAlloc, GlobalFree, GlobalRealloc