Programming - cpueblo.com

[팁] 공유 메모리 활용.. 음음..


글쓴이 : 유광희 날짜 : 2002-05-15 (수) 17:09 조회 : 8522
공유 메모리 활용하는 방법.

DLS 의 공유 메모리 방법..ㅡ.ㅡ;;

// DLS 환경정보
typedef struct tagDLSENVINFO{
	char logPath[MAX_PATH];		// 로그 파일 디렉토리 설정
	char InfoPath[MAX_PATH];	// 정보 파일 디렉토리 설정
	char dlsPath[MAX_PATH];		// DLS 경로 설정...
	char linkerOpt[1000];		// 링커 옵션..
} DLSENVINFO;

HANDLE hMemShare   = NULL;			// DLS 공유메모리 핸들
#define MAXSHAREMEMORY sizeof(DLSENVINFO)	// DLS Share Memory 크기 설정


char* Set_ShareMemory()
{
	const char* SHAREMEM ="DLS_MEM_SHARE";

	hMemShare = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0,
		MAXSHAREMEMORY, SHAREMEM);

	if(hMemShare < <FONT COLOR=#FF00FF>0){
		MessageBox(NULL, "공유 메모리초기화 실패", "test", MB_OK);
		return NULL;
	}

	char* buf = (char *)MapViewOfFile(hMemShare, FILE_MAP_ALL_ACCESS, 0, 0, MAXSHAREMEMORY);
	if(buf <= <FONT COLOR=#FF00FF>0){
		return NULL;
	} else{
		return buf;
	}
}

해제시에는

MapViewOfFile 로 생성한 buf 와 헨들을 해제 한다

UnMapViewOfFile (buf);
CloseHandle(hMemShare);

이런식임 ^^;;