OVH Cloud OVH Cloud

Mettre en mémoire

1 réponse
Avatar
Jacques \(Be\)
Bonjour,

Dans une application, je sauvegarde des fichiers temporaires que je détruis
à la sortie de l'application.
Afin d'éviter d'écrire sur le disque dur, n'est-il pas possible d'écrire ces
fichiers dans la mémoire ?

Si, oui... comment ? Et comment ensuite vider la mémoire ?

Merci de vos réponses

Jacques

1 réponse

Avatar
Patrick Philippot
Bonjour,

Jacques (Be) wrote:
Dans une application, je sauvegarde des fichiers temporaires que je
détruis à la sortie de l'application.
Afin d'éviter d'écrire sur le disque dur, n'est-il pas possible
d'écrire ces fichiers dans la mémoire ?

Si, oui... comment ? Et comment ensuite vider la mémoire ?



Une solution élégante serait d'utiliser un MMF (Memory Mapped File).
Finalement, c'est fait pour ça. Pour que les données soient écrites en
mémoire au lieu d'aller sur le disque, il faut ouvrir le MMF non pas sur
un fichier disque réel mais sur le handle 0xFFFFFFFF qui représente en
fait le fichier de pagination.

Ensuite vos données (que vous voyez en mémoire comme un tableau
d'octets) sont soit en mémoire physique, soit vraiment sur le disque en
fonction des ressources mémoire disponibles. Il y a peu d'exemples
d'utilisation des MMF en VB6 mais vous trouverez du code ici (une classe
qui eccncapsule les APIs de gestion des MMFs):

http://vb.mvps.org/articles/ap199910.asp

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr