Ipc mémoire partagée partage de données entre applications

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 047 fois - Téléchargée 29 fois

Contenu du snippet

Le but de ce code et de dialoguer entre plusieurs applications (actives sur le meme poste) sans ecrire de données sur le disque mais en utilisant un emplacement dans la mémoire partagée.

Source / Exemple :


' le premier process réserve l'emplecement mémoire et le nomme
Dim hFichier1m  As Long
Dim pProcess1   As Long
hFichier1m = CreateFileMapping(ByVal &HFFFFFFFF, Null, PAGE_READWRITE, 0, 64, "Toto" & vbNullChar)
pProcess1 = MapViewOfFile(hFichier1m, FILE_MAP_ALL_ACCESS, 0, 0, 64)

'le second process accede à l'emplacement mémoire par son nom
Dim hFichier2m  As Long
Dim pProcess2   As Long
hFichier2m = OpenFileMapping(FILE_MAP_ALL_ACCESS, False, "Toto" & vbNullChar)
pProcess2 = MapViewOfFile(hFichier2m, FILE_MAP_ALL_ACCESS, 0, 0, 64)

'ne pas oublier de libérer la mémoire avant la fermeture du prog !!
UnmapViewOfFile pProcess2
CloseHandle hFichier2m

'les acces à la mémoire se font par l'intermédiaire de la fonction :
CopyMemory ByVal pProcess2, Valeur, LenB(Valeur)
CopyMemory V2, ByVal pProcess2, LenB(V2)
'avec Valeur et V2 de meme type

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
26 juin 2006

bonjour , j'ai un erreur d'exécution "Mémoire insufisante" , veuillez m'aider à le resoudre s'il vous plait j'en ai besoin le plus tôt possible
Messages postés
55
Date d'inscription
vendredi 12 novembre 2004
Statut
Membre
Dernière intervention
1 juin 2007

un zip c'est sans efforts sa NON? @+++
Messages postés
3
Date d'inscription
dimanche 11 juin 2006
Statut
Membre
Dernière intervention
11 juin 2006

Nom d'1 chien où est le ZIP?
Messages postés
41
Date d'inscription
mardi 20 mai 2003
Statut
Membre
Dernière intervention
25 août 2007

Effectivement, c'est un peu court ... et y a des trucs qui ne peuvent pas marcher tels quels ...
J'ai complété l'exemple et je l'ai introduit sous un nouveau numéro :
http://www.vbfrance.com/code.aspx?ID=24455
Messages postés
143
Date d'inscription
lundi 3 novembre 2003
Statut
Membre
Dernière intervention
20 octobre 2005

Ouep, avec les API + le bout de code ça mérite une bonne note !!
(Même sans aussi ;p)

En tout cas c'est utile !
A voir si ce n'est pas très gourmand en temps d'exécution par rapport à l'écriture d'un fichier sur le disque (même si ça a d'autres avantages non négligeables)...
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.