Après quelques recherches j'ai trouvé un bout de code très utile me permettant de faire un échange de données important (8Mo) entre 2 applications basées sur MFC.
Le principe est simple, chaque minute l'application 1 envoie un message à l'application 2 via FILEMAPPING, et l'application 2 (après avoir exécuté un algorithme) renvoi par le même biais un message à l'appli 1.
Tout marche à merveille, mais au bout d'un certain temps la fonction :MapViewOfFile me retourne NULL et GetLastError me donne le code 8 ERROR_NOT_ENOUGH_MEMORY.
Je ne comprends pas, j'ai donc créé deux applications très simples s'échangeant 1 int, 1 float, 1 string. et je fais tourner en boucle ... à chaque fois plantage au bout du 30.000 ème message.
Mon algorithme est celui ci (appli 1):
-création de la MAP
-boucle infinie écriture sur la MAP
-Envoi d'un message à l'appli 2
-si demande d'arret unMap...
Si possible je peux mettre mon projet à disposition.
Quelqu'un pourrait-il m'expliquer pourquoi je reçois NULL au bout de 30.000 messages et toujours 30.000?
merci d'avance pour votre aide.
Effectivement j'avais fait une grosse erreur, j'avais retiré le unMap à la fin pour des tests(fait il y a plusieurs semaines) et j'avais oublié.
Je venais juste de trouver l'erreur quand j'ai reçu ton message.