Partager via


CMemFile::Attach

Appelez cette fonction pour joindre un bloc de mémoire à CMemFile.

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

Paramètres

  • lpBuffer
    Pointeur vers la mémoire tampon à attacher à CMemFile.

  • nBufferSize
    Un entier qui spécifie la taille de la mémoire tampon en octets.

  • nGrowBytes
    L'index d'allocation de mémoire en octets.

Notes

Cela fait utiliser CMemFile le bloc de mémoire comme un fichier de mémoire.

Si nGrowBytes est 0, CMemFile définira la longueur de fichier à nBufferSize. Cela signifie que les données du bloc de mémoire avant qu'elles aient été attachées à CMemFile seront utilisées en tant que fichier. Les fichiers de mémoire créés de cette manière ne peuvent pas être développés.

Étant donné que le fichier ne peut pas être développé, veillez à ne pas faire essayer CMemFile d'élever le fichier. Par exemple, n'appelez pas les substitutions d' CMemFile de fichier C : Écriture pour écrire au delà de la fin ou n'appelez pas fichier C : SetLength d'une longueur plus long que nBufferSize.

Si nGrowBytes est supérieur à 0, CMemFile ignore le contenu du bloc de mémoire que vous avez attaché. Vous devrez écrire le contenu du fichier de mémoire à partir de zéro à l'aide de la substitution d' CMemFile d' CFile::Write. Si vous tentez d'écrire au delà de la fin de le fichier ou d'élever le fichier en appelant la substitution d' CMemFile d' CFile::SetLength, CMemFile élèvera l'allocation de mémoire par incréments d' nGrowBytes. Élevant l'allocation de mémoire échoue si le bloc de mémoire que vous passez à Attacher n'a pas été alloué avec une méthode compatible avec Alloc. Pour être compatible avec l'implémentation par défaut d' Alloc, vous devez allouer de la mémoire avec la fonction de la bibliothèque Runtime malloc ou calloc.

Configuration requise

Header: afx.h

Voir aussi

Référence

CMemFile, classe

Graphique de la hiérarchie

CMemFile::CMemFile

CMemFile::Detach

CMemFile::Alloc

CFile::Write

CFile::SetLength