CMemFileがCFile-メモリ ファイルをサポートするクラスを派生します。ファイルがディスク上ではなく RAM に格納されていることを除いてメモリ ファイルはディスク ファイルのように動作します。メモリ ファイルは高速一時ストレージや生バイトを転送する場合に便利ですまたは独立したプロセス間でオブジェクトをシリアル化。
CMemFileオブジェクトは自動的に独自のメモリを割り当てることができます。 またはAttachを呼び出してCMemFileオブジェクトに独自のメモリ ブロックを添付できます。どちらの場合では、 nGrowBytesのメモリ ファイルを自動的に成長するためのメモリを割り当てられる- nGrowBytesゼロでない場合の増分サイズ。
メモリはもともと、 CMemFileオブジェクトによって割り当てられた場合、 CMemFileオブジェクトの破棄時にメモリ ブロックが自動的に削除されます。それ以外の場合、オブジェクトに接続されているメモリ割り当てを解除する責任があります。
Detachを呼び出してCMemFileオブジェクトから連続するとき指定されたポインターを通じてメモリ ブロックをアクセスできます。
CMemFileの最も一般的な使用は、 CMemFileオブジェクトを作成し、 CFileメンバー関数を呼び出して使用することです。CMemFileが自動的に作成する、開くノート: CFile::Openディスク ファイルにのみ使用されるを呼び出すことはありません。CMemFileがディスク ファイルを使用しないため、データ メンバー CFile::m_hFileを使用しないと意味がないです。
CFileのメンバー関数を複製する、 LockRange、およびUnlockRangeは、 CMemFileは実装されていません。CMemFileオブジェクトでこれらの関数を呼び出す場合は、 CNotSupportedExceptionを取得します。
CMemFileランタイム ライブラリ関数を使用して malloc、 reallocと の割り当て、再割り当て、およびメモリ; の割り当てを解除する無料組み込み memcpyの読み取りと書き込みブロック コピー メモリ。CMemFileがファイルが大きくなるときに、この動作または動作を変更する場合は、 CMemFileから独自のクラスを派生し、適切な関数をオーバーライド。
CMemFileの詳細についてを参照してください MFC のファイルと メモリ管理トピック (MFC)でVisual の C++ プログラマのガイドと参照してください ファイルを処理「ランタイム ライブラリ リファレンス。
#include lt;afx.h>