#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
HANDLE hFileMap;
HANDLE hEvent;
LPBYTE pcMap;
hEvent = CreateEvent(NULL, false, false, "MyEvent");
if(hEvent == NULL)
{
printf("createEvent failed\n");
return 0;
}
hFileMap = CreateFileMapping((HANDLE)0xffffffff, NULL, PAGE_READWRITE, 0, 4 * 1024, "MyShareData");
if(hFileMap == NULL)
{
printf("createfilemapping failed\n");
return 0;
}
pcMap = (LPBYTE)MapViewOfFile(hFileMap, FILE_MAP_READ|FILE_MAP_WRITE,
0, 0, 0);
if(pcMap == NULL)
{
printf("MapViewOfFile failed\n");
CloseHandle(hFileMap);
return 0;
}
printf("begin write\n");
int i;
for(i = 0; i < 26; i++)
{
pcMap[i] = 'a' + i;
}
pcMap[i] = 0;
UnmapViewOfFile(pcMap);
CloseHandle(hFileMap);
SetEvent(hEvent);
CloseHandle(hEvent);
return 1;
}