HANDLE CreateFileMapping(HANDLE Handle, SECURITY_ATTRIBUTES *lpAttributes, DWORD Protection, DWORD TailleHaute, DWORD TailleBasse, LPCTSTR NomFichier);
La protection Protection définit le mode d'accès au fichier monté en mémoire.
Le résultat est le handle de la mémoire partagée.
#include <windows.h>
#include <winbase.h>
HANDLE HandleMemoirePartagee;
SECURITY_ATTRIBUTES AttributDeSecurites;
void *AdresseMemoirePartagee;
AttributDeSecurites.nLength=sizeof(SECURITY_ATTRIBUTES);
AttributDeSecurites.lpSecurityDescriptor=NULL;
AttributDeSecurites.bInheritHandle=TRUE;
HandleMemoirePartagee=CreateFileMapping((HANDLE)0xFFFFFFFF, &AttributDeSecurites, PAGE_READWRITE|SEC_NOCACHE|SEC_COMMIT, 0, 1024, "MaMemoire");
if (!HandleMemoirePartagee)
{
...
}
AdresseMemoirePartagee=(void *)MapViewOfFile(HandleMemoirePartagee, FILE_MAP_ALL_ACCESS, 0, 0, 1024);
if (!AdresseMemoirePartagee)
{
...
}
...