Составители:
22
LRESULT CALLBACK WndProc(HWND hWnd,UINT messg,WPARAM
wParam,LPARAM lParam)
{ static char str[20];
static char *buf;
static HANDLE hFile,hMapping;
switch(messg)
{ case WM_CREATE: //при создании окна приложения:
//Создаем файл с именем “filemapping”, который будет отображаться на
//адресные пространства процессов
hFile=CreateFile("filemapping",GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ,NULL,CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL );
//если создать файл не удается, то, скорее всего, он уже существует (запре-
// щен раздельный доступ к файлу). Тогда закрываем приложение
if (hFile==INVALID_HANDLE_VALUE)
{
MessageBox(NULL,"Невозможно создать
объект отображения",
"Возможно, сервер уже запущен",MB_OK);
PostQuitMessage(0);
}
//Создаем объект отображения файла в память с именем “Mapping”
hMapping=CreateFileMapping(hFile,NULL,PAGE_READWRITE,
0,20,"Mapping");
//Отображаем объект на виртуальное адресное пространство процесса.
//Адрес начала отображения записываем в указатель buf
buf=(char*)MapViewOfFile(hMapping,FILE_MAP_WRITE,0,0,20);
break;
LRESULT CALLBACK WndProc(HWND hWnd,UINT messg,WPARAM wParam,LPARAM lParam) { static char str[20]; static char *buf; static HANDLE hFile,hMapping; switch(messg) { case WM_CREATE: //при создании окна приложения: //Создаем файл с именем “filemapping”, который будет отображаться на //адресные пространства процессов hFile=CreateFile("filemapping",GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ,NULL,CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); //если создать файл не удается, то, скорее всего, он уже существует (запре- // щен раздельный доступ к файлу). Тогда закрываем приложение if (hFile==INVALID_HANDLE_VALUE) { MessageBox(NULL,"Невозможно создать объект отображения", "Возможно, сервер уже запущен",MB_OK); PostQuitMessage(0); } //Создаем объект отображения файла в память с именем “Mapping” hMapping=CreateFileMapping(hFile,NULL,PAGE_READWRITE, 0,20,"Mapping"); //Отображаем объект на виртуальное адресное пространство процесса. //Адрес начала отображения записываем в указатель buf buf=(char*)MapViewOfFile(hMapping,FILE_MAP_WRITE,0,0,20); break; 22
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »