
CSharedFileは、 CMemFile-共有メモリ ファイルの派生クラスをサポートします。ファイルがディスク上ではなく RAM に格納されていることを除いてメモリ ファイルはディスクのファイルのように動作します。メモリ ファイルは高速一時ストレージや生バイトを転送する場合に便利ですまたは独立したプロセス間でオブジェクトをシリアル化。
共有メモリ ファイル異なる他メモリ ファイルからそれらのメモリを割り当てられますが、 Windows のGlobalAlloc関数。CSharedFileクラス ( GlobalAllocを使用して作成) をグローバルに割り当てられたメモリ ブロックにデータを格納し、このメモリ ブロックは、DDE、クリップボード、またはIDataObjectを使用して他 OLE や COM 均一データ転送操作、たとえばを使用して共有することができます。
GlobalAllocを返します、 HGLOBALハンドルによって返されるポインターなどのメモリへのポインターではなく malloc。HGLOBALハンドルは、特定のアプリケーションで必要です。たとえば、クリップボードにデータを格納する、 HGLOBALハンドルを必要。
CSharedFileはメモリ マップ ファイルを使用しないし、データ プロセス間で直接共有することはできませんに注意してください。
CSharedFileオブジェクトは自動的に独自のメモリを割り当てることができます。 またはCSharedFile::SetHandleを呼び出すことによって、 CSharedFileオブジェクトに独自のメモリ ブロックを添付できます。どちらの場合では、 nGrowBytesのメモリ ファイルを自動的に成長するためのメモリを割り当てられる- nGrowBytesゼロでない場合の増分サイズ。
詳細については、参照してください ファイル MFC で Visual の C++ プログラマのガイドと ファイルを処理「ランタイム ライブラリ リファレンス。
#include lt;afxadv.h>
参照特価;CMemFile、 GlobalAlloc、 GlobalFree、 GlobalRealloc(&N)