Memory Mapped File (MMF)의 정리는 개념 및 용어를 참고하기 바란다.
구현 방법에 관한 글이다.
MMF는 Write하는 부분과 Read하는 부분으로 나뉜다.
먼저 Write하는 부분의 구현 과정은 아래와 같다.
1. 파일의 생성
HANDLE hFile = CreateFile(...)
2. 파일 연결 오브젝트 생성
HANDLE hMapFile = CreateFileMapping(hFile, ...)
3. 가상 메모리에 파일 연결
char * chContext = (char *)MapViewOfFile(hMapFile, ...)
4. 가상 메모리와 파일 연결 해제
UnmapViewOfFile(chContext)
5. 파일 연결 오브젝트 해제
CloseHandle(hMapFile)
1단계는 생략 가능하다.
생략 시 2단계의 첫번째 Parameter는 INVALID_HANDLE_VALUE로 한다.
3단계에서는 전달할 자료형에 따라 변경하여 사용하면 된다.
Read하는 부분의 구현 과정은 아래와같다.
1.연결할 파일 오픈
HANDLE hMapFile = OpenFileMapping(...)
2. 가상 메모리에 파일 연결
char * chContext = (char *)MapViewOfFile(hMapFile, ...)
3. 가상 메모리와 파일 연결 해제
UnmapViewOfFile(chContext)
4. 파일 연결 오브젝트 해제
CloseHandle(hMapFile)
3단계에서는 송신부에서 사용한 자료형으로 수신한다.
'Programming > Windows' 카테고리의 다른 글
Thread 및 Process를 CPU Core에 할당 (0) | 2020.12.22 |
---|---|
파일명 다루기[2] - PowerShell (0) | 2020.08.07 |
파일명 다루기[1] - 명령 프롬프트(cmd) (0) | 2020.08.06 |