CMemFile

CMemFile est la CFile-classe dérivée qui prend en charge les fichiers de mémoire. Ces fichiers de la mémoire se comportent comme des fichiers de disque sauf que le fichier est stocké dans la RAM plutôt que sur disque. Un fichier de mémoire est utile pour le stockage temporaire rapide ou pour transférer des octets bruts ou sérialisé objets entre processus indépendants.

CMemFile objets peuvent automatiquement attribuer leur propre mémoire, ou vous pouvez joindre votre propre bloc de mémoire à l'objet CMemFile en appelant Attach. Dans les deux cas, mémoire pour la croissance des automatiquement le fichier de mémoire est allouée dans nGrowBytes-taille des incréments si nGrowBytes n'est pas zéro.

Le bloc de mémoire est automatiquement supprimé après la destruction de l'objet CMemFile si la mémoire a été allouée à l'origine par l'objet CMemFile ; sinon, vous êtes responsable de la désallocation de mémoire que vous attaché à l'objet.

Vous pouvez accéder le bloc de mémoire via le pointeur fourni lorsque vous détacher de l'objet CMemFile en appelant le détacher.

L'utilisation la plus courante de CMemFile est de créer un objet CMemFile et l'utiliser en appelant les fonctions de membre de CFile . Note que créer un CMemFile automatiquement l'ouvre : vous n'appelez pas CFile::Open, qui n'est utilisé que pour les fichiers de disque. Parce que CMemFile n'utilise pas un fichier sur disque, le membre de données CFile::m_hFile n'est pas utilisé et n'a aucune signification.

Les fonctions membres CFile Dupliquer, LockRangeet UnlockRange ne sont pas implémentées pour CMemFile. Si vous appelez ces fonctions sur un objet CMemFile , vous obtiendrez un CNotSupportedException.

CMemFile utilise les fonctions de la bibliothèque run-time malloc, realloc, et libres d'allouer, réaffecter et désallouer la mémoire ; et l'intrinsèque memcpy en bloc copie mémoire lors de la lecture et l'écriture. Si vous souhaitez modifier ce comportement ou le comportement lors de la CMemFile pousse un fichier, dérivez votre propre classe de CMemFile et de substituer les fonctions appropriées.

Pour plus d'informations sur CMemFile, consultez les articles fichiers dans MFC et Sujets de gestion mémoire (MFC) dans le Guide du programmeur Visual C++ et voir de Gestion des fichiers dans la Référence de la bibliothèque Run-Time.

# include lt;afx.h>

Membres de la classe |  ; Classe de base | Graphique de la hiérarchie

Index