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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 415 fois - Téléchargée 30 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
cs_hanouna16
Messages postés
2
Date d'inscription
mercredi 14 juin 2006
Statut
Membre
Dernière intervention
26 juin 2006

8 oct. 2007 à 12:57
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
Shendoo
Messages postés
55
Date d'inscription
vendredi 12 novembre 2004
Statut
Membre
Dernière intervention
1 juin 2007

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

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

11 juil. 2004 à 15:12
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
sarl_adc
Messages postés
141
Date d'inscription
lundi 3 novembre 2003
Statut
Membre
Dernière intervention
20 octobre 2005

9 juil. 2004 à 09:46
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.