调用此功能附加内存块来 CMemFile。
void Attach(
BYTE* lpBuffer,
UINT nBufferSize,
UINT nGrowBytes = 0
);
参数
lpBuffer
对要附加的缓冲区的指针 CMemFile。nBufferSize
在字节指定缓冲区大小的整数。nGrowBytes
内存分配增量(以字节为单位)。
备注
这会导致 CMemFile 使用内存块作为内存文件。
如果 nGrowBytes 为0,CMemFile 将设置文件长度。nBufferSize。这意味着中的数据存储区,它附加到 CMemFile 将用作文件之前。创建的内存文件不能按照这种方式增大。
因为文件不能增大,小心不会导致 CMemFile 尝试其文件。例如,与 nBufferSize不要调用 CMemFile 重写 C文件: 写入 传递到此端的编写或不调用与长度的 C文件: SetLength 长。
如果 nGrowBytes 大于0,CMemFile 将忽略的内容内存块已附加。使用 CFile::Write,CMemFile 重写将从头开始编写内存文件的内容。如果尝试将通过文件结尾的编写或通过调用 CFile::SetLengthCMemFile 重写其文件,CMemFile 将其内存分配增量 nGrowBytes。存在内存分配将失败,则块您能够 Attach 的未通过随方法与 Alloc兼容。若要与 Alloc的默认实现兼容,必须用运行库函数 malloc 或 calloc的内存。
要求
Header: afx.h