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

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

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.