次の方法で共有


CMemFile クラス

- CFileその派生クラスはメモリ上のファイルをサポートします。

class CMemFile : public CFile

メンバー

tzdxd4x0.collapse_all(ja-jp,VS.110).gifパブリック コンストラクター

名前

説明

CMemFile::CMemFile

メモリのファイル オブジェクトを構築します。

tzdxd4x0.collapse_all(ja-jp,VS.110).gifパブリック メソッド

名前

説明

CMemFile::Attach

CMemFileにメモリ ブロックを割り当てます。

CMemFile::Detach

CMemFile からメモリ ブロックをデタッチし、デタッチされたメモリ ブロックへのポインターを返します。

tzdxd4x0.collapse_all(ja-jp,VS.110).gifプロテクト メソッド

名前

説明

CMemFile::Alloc

メモリ割り当ての動作を変更するためにオーバーライドします。

CMemFile::Free

メモリの解放の動作を変更するためにオーバーライドします。

CMemFile::GrowFile

ファイルがない場合の動作を変更するためにオーバーライドします。

CMemFile::Memcpy

ファイルを読み書きするときにメモリのコピーの動作を変更するためにオーバーライドします。

CMemFile::Realloc

メモリの再割り当ての動作を変更するためにオーバーライドします。

解説

これらのメモリ ファイルをディスク ファイルなどですが、ファイルがディスク上ではなく、RAM に格納されます。メモリのファイルは、一時的なストレージまたは独立したプロセス間での生バイトまたはシリアル化されたオブジェクトを転送する場合に便利です。

CMemFile のオブジェクトは自動的に独自のメモリを割り当てるか、または CMemFile のオブジェクトに [アタッチ]を呼び出すことにより、独自のメモリ ブロックを添付できます。いずれの場合も、メモリ ファイルを拡張するメモリのサイズは nGrowBytesのインクリメントで自動的に nGrowBytes がゼロである割り当てられます。

メモリ ブロックは CMemFile のオブジェクトの破棄に自動的にメモリが CMemFile のオブジェクトによって最初に割り当てられている場合は削除されます; は、オブジェクトにアタッチしたメモリを解放する必要があります。

[デタッチ]を呼び出して CMemFile のオブジェクトからそれをデタッチするときに指定されるポインターを通じてメモリ ブロックにアクセスできます。

CMemFile のは一般的に、CMemFile のオブジェクトを作成し、CFile のメンバー関数を呼び出すことによって使用することです。CMemFile を作成する自動的に開きますこのプロパティを処理します: ディスク ファイルにのみ使用して CFile::Openを呼び出していません。CMemFile をディスク ファイルを使用しないため、データ メンバー CFile::m_hFile を使うことも意味がありません。

CFile のメンバー関数 [複製]LockRangeUnlockRangeCMemFile用に実装されていません。CMemFile オブジェクトでこれらの関数を呼び出すと、CNotSupportedException になります。

CMemFile はメモリの割り当ておよび再割り当ておよび解放するためにランタイム ライブラリ関数 mallocreallocfree を使用して; を読み書きする場合のコピーのメモリ ブロックを組み込み memcpyCMemFile がファイルがない場合は、この動作と動作を変更するする場合は、独自のクラスを CMemFile から派生し、適切な関数をオーバーライドします。

CMemFileの詳細については、" " MFC のファイルメモリ管理 (MFC) を表示し、" ランタイム ライブラリ リファレンス"のファイルの処理 を参照してください。

継承階層

CObject

CFile

CMemFile

必要条件

ヘッダー: afx.h

参照

関連項目

CFile クラス

階層図