CMemFile::Attach

anular Attach (BYTE * lpBuffer, UINT nBufferSize, UINT nGrowBytes = 0);

Parámetros

lpBuffer

Puntero al búfer que se adjuntará al CMemFile.

nBufferSize

Un entero que especifica el tamaño del búfer de bytes.

nGrowBytes

El incremento de asignación de memoria en bytes.

Observaciones

Llamar a esta función para adjuntar un bloque de memoria a CMemFile. Esto provoca CMemFile a utilizar el bloque de memoria como el archivo de la memoria.

Si nGrowBytes es 0, CMemFile establecerá la longitud del archivo nBufferSize. Esto significa que los datos en el bloque de memoria antes de que se atribuye a CMemFile se utilizará el archivo. Archivos de memoria creados de esta manera no pueden cultivarse.

Dado que el archivo no puede ser cultivado, tenga cuidado de no causar CMemFile intentar crecer el archivo. Por ejemplo, no llame a las anulaciones de CMemFile de CFile:Write para escribir allá el final o no a CFile:SetLength con una longitud superior a nBufferSize.

Si nGrowBytes es mayor que 0, CMemFile tendrá en cuenta el contenido del bloque de memoria que ha adjuntado. Tendrás que escribir el contenido del archivo de memoria desde cero utilizando el CMemFile anular de CFile::Write. Si se intenta escribir pasado el final del archivo o crecer el archivo llamando la CMemFile reemplazar de CFile::SetLength, CMemFile crecerá la asignación de memoria en incrementos de nGrowBytes. Aumentando la asignación de memoria se producirá un error si el bloque de memoria que pasa a adjuntar no asignado con un método compatible con Alloc. Para ser compatible con la implementación predeterminada de Alloc, debe asignar la memoria con la función de biblioteca de tiempo de ejecución malloc o calloc.

Visió&n General de CMemFile |nbsp; Miembros de clase | Diagrama de jerarquía

Vea tambié&nnbsp;CMemFile::CMemFile, CMemFile::Detach, CMemFile::Alloc, CFile::Write, CFile::SetLength

Index