CMemFile::Attach

аннулировать Attach (BYTE * lpBuffer, UINT nBufferSize, UINT nGrowBytes = 0);

Параметры

lpBuffer

Указатель на буфер, который будет прилагаться к CMemFile.

nBufferSize

Целое число, определяющее размер буфера в байтах.

nGrowBytes

Единицы выделения памяти в байтах.

Примечания

Эта функция вызывается для присоединения блока памяти к CMemFile. Это приводит к CMemFile использовать блок памяти как файл памяти.

Если nGrowBytes равен 0, CMemFile будет значение длины файла nBufferSize. Это означает, что данные в блок памяти, прежде чем он был прикреплен к CMemFile будет использоваться в качестве файла. Памяти файлы, созданные таким образом не может быть выращен.

Так как этот файл не может выращиваться, будьте осторожны, чтобы не вызвать CMemFile расти файл. Например не звоните CMemFile переопределения CFile:Write для записи после конца или не называют CFile:SetLength с длиной больше, чем nBufferSize.

Если больше чем 0 nGrowBytes CMemFile будет игнорировать содержимое блока памяти, который вы прилагается. Вам придется писать содержимое файла памяти с нуля, используя CMemFile переопределить CFile::Write. Если вы пытаетесь написать после конца файла, или растут файл путем вызова CMemFile переопределить CFile::SetLength, CMemFile будет расти выделения памяти с шагом в nGrowBytes. Растущая выделения памяти завершится ошибкой, если блок памяти, который передается Attach не было выделено с помощью метода совместима с идентификатором единицы. Чтобы быть совместимым с реализацией по умолчанию Alloc, необходимо выделить память с помощью функции библиотеки времени выполнения malloc или calloc.

Обзор CMemFileЧлены класса | Иерархическая схема

См. также CMemFile::CMemFile, CMemFile::Detach, CMemFile::Alloc, CFile::Write, CFile::SetLength

Index