==== 헤더 선언 ====

BOOL bIsFileOpen;
HANDLE hFileMap; // 파일 매핑을 핸들링..
LPVOID lpMapFile; // 매핑 파일의 포인터..

FAMSHAREDMEMMAP *MapFile;
FAMSHAREDMEMMAP TempMapFile;

 

==== 바디 선언 ====

공유메모리 처음 생성부..

==========================================================================================

if(hFileMap!=NULL){
return;
}

hFileMap = MapFile = NULL;

// Shared file open & handle is give.
hFileMap = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, "FAMSHAREDMAPSTRUCT");

if(hFileMap == NULL){
hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, \
0, sizeof(FAMSHAREDMEMMAP), "FAMSHAREDMAPSTRUCT");
if(hFileMap == NULL){
AfxMessageBox("FAMSHAREDMAPSTRUCT MapFile Open Failure!!");
exit(GetLastError());
}
lpMapFile = MapViewOfFile(hFileMap, FILE_MAP_ALL_ACCESS,0,0,0);
}else
lpMapFile = MapViewOfFile(hFileMap, FILE_MAP_ALL_ACCESS,0,0,0);

==========================================================================================

 

공유메모리 데이터 Write..

==========================================================================================

if(lpMapFile == NULL){
AfxMessageBox("lpMapFile Open Failure 22");
exit(GetLastError());
}

memset(&TempMapFile, 0, sizeof(FAMSHAREDMEMMAP));
memcpy(&TempMapFile,lpMapFile,sizeof(FAMSHAREDMEMMAP));

// Write..
TempMapFile.setx=0x111;
TempMapFile.sety=0xAAA;
memcpy(lpMapFile, &TempMapFile,sizeof(FAMSHAREDMEMMAP));

==========================================================================================

 

공유메모리 데이터 Read...

==========================================================================================

if(lpMapFile == NULL){
AfxMessageBox("lpMapFile Open Failure 22");
exit(GetLastError());
}

memset(&TempMapFile, 0, sizeof(FAMSHAREDMEMMAP));
memcpy(&TempMapFile,lpMapFile,sizeof(FAMSHAREDMEMMAP));

==========================================================================================

 

공유메모리 해제...

==========================================================================================

if(hFileMap)
{
UnmapViewOfFile(lpMapFile);
CloseHandle(hFileMap);
hFileMap = NULL;
}

 

==========================================================================================

 

 

 

 

         내용복사: --enable=all --enable=style -q --template vs $(FileDir)

 

 

+ Recent posts