프로세스는 각각 독립적으로 Stack, Heap, Data 등의 영역을 가지는데 해당 영역에 다른 프로세스에서 직접적으로 접근할 수 없다. 이런 상황에서 프로세스간의 통신을 하는 방법이 IPC(Inter Process Communication)이다.
메일 슬롯
- 단방향 통신 -> 메일 슬롯 2개를 만들어서 양방향 통신.
[메일 슬롯 이름 형식]
\\computername\mailslot\[path]name
ex) "\\\\.\\mailslot\\mymail"
Receiver : CreateMailslot(), ReadFile() 사용
Sender : CreateFile(), WriteFile() 사용
HANDLE CreateMailslot(
LPCTSTR lpName,
DWORD nMaxMessageSize,
DWORD lReadTimeout
LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
- lpName : 생성할 메일슬롯의 이름
- nMaxMessageSize : 메일슬롯의 버퍼 크기(0인 경우 허용가능 최대치로 지정)
- lReadTimeout : ReadFile에 대한 블로킹할 시간. (0인 경우 블로킹 상태 없음)
- lpSecurityAttributes : 핸들을 상속하기 위한 용도
'Programming > Win_API' 카테고리의 다른 글
쓰레드 - 타이머기반 동기화 (0) | 2013.01.03 |
---|---|
쓰레드 - 이벤트기반 동기화 (0) | 2013.01.03 |
윈도우즈 API - 데이터 타입(reference) (0) | 2012.09.13 |
윈도우즈 API - 메모리 관련 함수2 (GetProcessHeap, HeapAlloc, HeapFree, HeapCreate) (0) | 2012.09.11 |
윈도우즈 API - 메모리 관련 함수1 (VirtualAlloc, VirtualFree, VirtualProtect) (1) | 2012.09.07 |