Shared memory in Windows...
Shared memory Server
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int main(int argc, char* argv[])
{
HANDLE hMemMapFile;
LPSTR lpMsg;
hMemMapFile = CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,
PAGE_READWRITE,0,0x1000,"SharedMemory");
if(hMemMapFile == NULL)
{
printf("n Failed to allocate Shared memory...");
exit(1);
}
lpMsg = (LPSTR)MapViewOfFile(hMemMapFile,FILE_MAP_WRITE,0,0,0);
if(lpMsg == NULL)
{
printf("n Failed to map shared memory ...");
exit(1);
}
lpMsg[0] = NULL;
while(lpMsg[0] == NULL) Sleep(1000);
printf("n Message Received : %s",lpMsg);
UnmapViewOfFile(lpMsg);
getch();
return 0;
}
Shared memory Client :
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int main(int argc, char* argv[])
{
HANDLE hMemMapFile;
LPSTR lpMsg;
hMemMapFile = CreateFileMapping((HANDLE)0xffffffff,NULL,PAGE_READWRITE,0,0x1000,"SharedMemory");
if(hMemMapFile == NULL)
{
printf("n Failed to allocate Shared memory...");
exit(1);
}
lpMsg = (LPSTR)MapViewOfFile(hMemMapFile,FILE_MAP_WRITE,0,0,0);
if(lpMsg == NULL)
{
printf("n Failed to map shared memory ...");
exit(1);
}
strcpy(lpMsg,"Hello from client");
printf("n Message sent from client :%s",lpMsg);
UnmapViewOfFile(lpMsg);
getch();
return 0;
}
No comments:
Post a Comment