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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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