CMemFile, classe
fichier Cclasse dérivée qui prend en charge des fichiers de mémoire.
class CMemFile : public CFile
Membres
Constructeurs publics
Nom |
Description |
---|---|
Crée un fichier objet de mémoire. |
Méthodes publiques
Nom |
Description |
---|---|
Joint un bloc de mémoire à CMemFile. |
|
Détache le bloc de mémoire d' CMemFile et retourne un pointeur vers le bloc de mémoire détaché. |
Méthodes protégées
Nom |
Description |
---|---|
Substitution pour modifier le comportement d'allocation de mémoire. |
|
Substitution pour modifier le comportement de désallocation de mémoire. |
|
Substitution pour modifier le comportement en élevant un fichier. |
|
Substitution pour modifier le comportement de copie de mémoire en lecture et en écriture des fichiers. |
|
Substitution pour modifier le comportement de redistribution de mémoire. |
Notes
Ces fichiers de mémoire se comportent comme des fichiers sur disque mais que le fichier est stocké dans la mémoire vive plutôt que sur le disque. Un fichier de stockage est utile pour le stockage temporaire rapide ou pour transférer des octets bruts ou des objets sérialisés entre les processus indépendants.
Les objets d'CMemFile peuvent automatiquement allouer leur propre mémoire ou vous pouvez attacher votre propre bloc de mémoire à l'objet d' CMemFile en appelant Attachement. Dans l'un ou l'autre de point de droite, la mémoire pour élever le fichier de mémoire automatiquement est allouée par incréments de taille d' nGrowBytessi nGrowBytes n'est pas nul.
Le bloc de mémoire sera automatiquement supprimé lors de destruction de l'objet d' CMemFile si la mémoire était initialement allouée par l'objet d' CMemFile ; sinon, vous êtes chargé de libérer la mémoire que vous avez jointe à l'objet.
Vous pouvez accéder au bloc de mémoire via le pointeur fourni lorsque vous détachez le de l'objet d' CMemFile en appelant détachez.
L'utilisation la plus courante d' CMemFile consiste à créer un objet d' CMemFile et de l'utiliser en appelant les fonctions membres de fichier C . Notez que crée CMemFile l'ouvre automatiquement : vous n'appelez pas CFile::Open, qui est utilisé uniquement pour des fichiers sur disque. Étant donné qu' CMemFile n'utilise pas de fichier sur disque, le membre CFile::m_hFile n'est pas utilisée et n'a aucune signification.
Les fonctions membres d' CFiledouble, LockRange, et UnlockRange ne sont pas implémentées pour CMemFile. Si vous appelez ces fonctions sur CMemFile objet, obtiendront vous CNotSupportedException.
CMemFile utilise les fonctions de la bibliothèque Runtime malloc, realloc, et inscription pour allouer, réaffecter, et libérer la mémoire ; et l'intrinsèque memcpy pour bloquer la mémoire de copie en lecture et en écriture. Si vous souhaitez modifier ce comportement ou le comportement lorsque CMemFile élève un fichier, dérivez votre propre classe d' CMemFile et substituez les fonctions appropriées.
Pour plus d'informations sur CMemFile, consultez les articles fichiers dans MFC et gestion de la mémoire (MFC) et voir le gestion de fichiers dans la référence de la bibliothèque Runtime.
Hiérarchie d'héritage
CMemFile
Configuration requise
Header: afx.h