CMemFile::Attach

接続が無効 (バイト ※ lpBuffer、UINT nBufferSize、UINT nGrowBytes = 0);

パラメーター

lpBuffer

CMemFileを添付するバッファーへのポインター。

nBufferSize

バッファーのサイズをバイト単位で指定する整数。

nGrowBytes

バイトのメモリ割り当ての増加。

解説

CMemFileするメモリのブロックを接続するには、この関数を呼び出します。これにより、 CMemFileはメモリのブロックをメモリ ファイルとして使用するには。

NGrowBytesが 0 の場合は、 CMemFilenBufferSizeするには、ファイルの長さを設定します。つまり、 CMemFileに添付された前に、メモリ ブロックにデータをファイルとして使用されます。この方法で作成されたメモリ ファイルが成長することはできません。

ファイルが拡張することはできませんので、 CMemFileがファイルを拡張しようとするが発生しないように注意してください。たとえば、 CMemFileオーバーライドの末尾を記述するには、 CFile:Writeを呼び出すことはありません。 またはCFile:SetLength nBufferSizeより長い長さを呼び出すことはありません。

NGrowBytesが 0 より大きい場合、 CMemFile添付しましたメモリ ブロックの内容は無視されます。CFile::Writeのメモリ ファイル、 CMemFileを使用してゼロからの内容を上書きを作成する必要があります。ファイルの末尾を記述またはファイルを拡張する場合、 CMemFileを呼び出すことによってCFile::SetLengthのオーバーライド、 CMemFile nGrowBytesのメモリ割り当て単位で育ちます。Attachに渡したメモリ ブロックがAllocと互換性のあるメソッドの割り当てではなかった場合、メモリの割り当てを拡張は失敗します。割り当ての既定の実装と互換性があることには、ランタイム ライブラリ関数がメモリを割り当てる必要があります mallocまたは calloc

CMemFile 概要|nbsp;クラス メンバー |階層図(&N)

参照特価;CMemFile::CMemFileCMemFile::DetachCMemFile::AllocCFile::WriteCFile::SetLength(&N)

Index