Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- IT 자원
- 온 프레미스
- VMware
- Virtual Private Cloud
- Error 1720
- VMWare vSphere
- 클라우드 소비자
- 클라우드 보안 취약성
- 수직적 확장
- 자원 풀링
- 운영관리제어의 축소
- 클라우드 서비스 소유자
- 멀티테넌시
- 커뮤니티 클라우드
- 정수형 데이터타입
- DHCP 설치
- dhcp
- 수평적 확장
- View Connection
- 클라우드 제공자
- DHCP 설정
- 클라우드 자원 관리자
- 온디맨드식
- 고정 IP주소를 가진 네트워크 어댑터를 검색할 수 없습니다.
- 도메인 사용자 또는 그룹을 확인할 수 없습니다.
- 이 컴퓨터는 도메인의 구성원이 아닙니다.
- 가상 프라이빗 클라우드
- VMWare View Connection Serve
- 제한된 이식성
- Community Cloud
Archives
- Today
- Total
한 걸음씩..
서로 다른 프로세스 끼리 데이터 공유하기 (Memory Mapped File) 본문
반응형
서로 다른 프로세스 끼리 (서로 다른 어플리케이션 또는 서비스)
데이터를 공유하는 방법 중 하나로 MMF(Memory Mapped File)을 사용할 수 있다!!!
1. 첫 번째 프로세스
// "SH_MEM"라는 이름의 크기가 1024 이며, 읽고 쓰기가 가능한 상태로 이름의 메모리 객체를 생성한다.
HANDLE hMapping = ::CreateFileMapping (INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0,
HANDLE hMapping = ::CreateFileMapping (INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0,
1024, "SH_MEM");
// 생성된 메모리 객체에 접근하여 시작 위치를 얻어온다.
LPVOID lpData = ::MapViewOfFile (hMapping, FILE_MAP_ALL_ACCESS, 0, 0, 1024);
LPVOID lpData = ::MapViewOfFile (hMapping, FILE_MAP_ALL_ACCESS, 0, 0, 1024);
2. 두 번째 프로세스
// 이미 생성된 "SH_MEM"라는 메모리 객체를 Open 한다.
HANDLE hMapping = ::OpenFileMapping (FILE_MAP_ALL_ACCESS, FALSE, "SH_MEM");
HANDLE hMapping = ::OpenFileMapping (FILE_MAP_ALL_ACCESS, FALSE, "SH_MEM");
// Open된 메모리 객체에 접근하여 시작 위치를 얻어온다.
LPVOID lpData = ::MapViewOfFile (hMapping, FILE_MAP_ALL_ACCESS, 0, 0, 1024);
LPVOID lpData = ::MapViewOfFile (hMapping, FILE_MAP_ALL_ACCESS, 0, 0, 1024);
3. 모든 프로세스
// 모든 작업이 끝난 후 접근했던 메모리객체를 연관성을 끊는다.
::UnmapViewOfFile (lpData);
::UnmapViewOfFile (lpData);
// 공유메모리를 삭제한다.
::CloseHandle (hMapping);
::CloseHandle (hMapping);
http://www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=322
ps. 서비스와 어플리케이션이 데이터를 주고 받으려면
Global Name을 사용해야 하며 어플리케이션 쪽에서 MMF 를 만들고 서비스에서 열어야 한다.
반응형
'프로그래밍' 카테고리의 다른 글
드라이버 설치할 때 INF 에서 OS 버전 구분하기 (0) | 2013.07.15 |
---|---|
WIN7 UAC 관련 - 메니페스트 설정 (0) | 2013.07.15 |
[WindowsRT] Windows Image 배포 (0) | 2012.10.30 |
계산기 (후위표현식) (0) | 2011.10.17 |
reverse (0) | 2011.10.17 |