CMemFile クラス
- CFileその派生クラスはメモリ上のファイルをサポートします。
class CMemFile : public CFile
メンバー
パブリック コンストラクター
名前 |
説明 |
---|---|
メモリのファイル オブジェクトを構築します。 |
パブリック メソッド
名前 |
説明 |
---|---|
CMemFileにメモリ ブロックを割り当てます。 |
|
CMemFile からメモリ ブロックをデタッチし、デタッチされたメモリ ブロックへのポインターを返します。 |
プロテクト メソッド
名前 |
説明 |
---|---|
メモリ割り当ての動作を変更するためにオーバーライドします。 |
|
メモリの解放の動作を変更するためにオーバーライドします。 |
|
ファイルがない場合の動作を変更するためにオーバーライドします。 |
|
ファイルを読み書きするときにメモリのコピーの動作を変更するためにオーバーライドします。 |
|
メモリの再割り当ての動作を変更するためにオーバーライドします。 |
解説
これらのメモリ ファイルをディスク ファイルなどですが、ファイルがディスク上ではなく、RAM に格納されます。メモリのファイルは、一時的なストレージまたは独立したプロセス間での生バイトまたはシリアル化されたオブジェクトを転送する場合に便利です。
CMemFile のオブジェクトは自動的に独自のメモリを割り当てるか、または CMemFile のオブジェクトに [アタッチ]を呼び出すことにより、独自のメモリ ブロックを添付できます。いずれの場合も、メモリ ファイルを拡張するメモリのサイズは nGrowBytesのインクリメントで自動的に nGrowBytes がゼロである割り当てられます。
メモリ ブロックは CMemFile のオブジェクトの破棄に自動的にメモリが CMemFile のオブジェクトによって最初に割り当てられている場合は削除されます; は、オブジェクトにアタッチしたメモリを解放する必要があります。
[デタッチ]を呼び出して CMemFile のオブジェクトからそれをデタッチするときに指定されるポインターを通じてメモリ ブロックにアクセスできます。
CMemFile のは一般的に、CMemFile のオブジェクトを作成し、CFile のメンバー関数を呼び出すことによって使用することです。CMemFile を作成する自動的に開きますこのプロパティを処理します: ディスク ファイルにのみ使用して CFile::Openを呼び出していません。CMemFile をディスク ファイルを使用しないため、データ メンバー CFile::m_hFile を使うことも意味がありません。
CFile のメンバー関数 [複製]、LockRangeと UnlockRange は CMemFile用に実装されていません。CMemFile オブジェクトでこれらの関数を呼び出すと、CNotSupportedException になります。
CMemFile はメモリの割り当ておよび再割り当ておよび解放するためにランタイム ライブラリ関数 malloc、reallocと free を使用して; を読み書きする場合のコピーのメモリ ブロックを組み込み memcpy。CMemFile がファイルがない場合は、この動作と動作を変更するする場合は、独自のクラスを CMemFile から派生し、適切な関数をオーバーライドします。
CMemFileの詳細については、" " MFC のファイル と メモリ管理 (MFC) を表示し、" ランタイム ライブラリ リファレンス"のファイルの処理 を参照してください。
継承階層
CMemFile
必要条件
ヘッダー: afx.h