Platform/IPC
규격
jjryu
2009. 2. 4. 15:34
실행인자
환경변수
파일
DDE
윈도우 메시지 // 사용자 정의 메시지
SetHandleInformation()
GetHandleInformation()
공유 메모리
익명 파이프
CloseHandle()
명명된 파이프
메일 슬롯 // be like a message queue
환경변수
파일
가장 단순
Atom
클립보드
잘라내서-붙여넣기
Drag & Drop // 끌어서-놓기
윈도우 메시지 // 사용자 정의 메시지
c.f. WaitForInputIdle()
WM_COPYDATA
정수 하나와 포인터 하나를 보낼 수 있다.
c.f. WaitForInputIdle()
c.f. WaitForInputIdle()
SetHandleInformation()
GetHandleInformation()
공유 메모리
익명 파이프
CreatePipe()
CloseHandle()
SetHandleInformation()
CloseHandle()
SetHandleInformation()
HANDLE_FLAG_INHERIT
WriteFile()
The named pipe instance is a global resource
CreateNamedPipe()
PIPE_ACCESS_DUPLEX
PIPE_TYPE_BYTE
PIPE_TYPE_BYTE
CloseHandle()
ConnectNamedPipe() // blocking, listen? // indicating that there is an available named pipe instance
ConnectNamedPipe() // blocking, listen? // indicating that there is an available named pipe instance
ERROR_PIPE_CONNECTED
DisconnectNamedPipe() // for connection with another client
ReadFile()
WriteFile()
ReadFile()
WriteFile()
CreateFile()
ERROR_PIPE_BUSY
OPEN_EXISTING
OPEN_EXISTING
WaitNamedPipe() // blocking??, connect?
ConnectNamedPipe()
NMPWAIT_WAIT_FOREVER
Nonetheless, the client's CreateFile call could fail if some other client opens the named pipe instance or if the server closes the instance's handle.
NMPWAIT_WAIT_FOREVER
Nonetheless, the client's CreateFile call could fail if some other client opens the named pipe instance or if the server closes the instance's handle.
CloseHandle()
allowing another client to connect on the same named pipe instance
ReadFile()
WriteFile()
FlushFileBuffers()
IO Completion Ports
Non-Blocking Reads and Writes using Overlapped IO
WriteFile()
FlushFileBuffers()
IO Completion Ports
Non-Blocking Reads and Writes using Overlapped IO
CreateMailslot()
MAILSLOT_WAIT_FOREVER
CloseHandle()
GetMailslotInfo() // polling
GetMailslotInfo() // polling
can retrieve the size (in bytes) of the next record (if any)
ReadFile() // blocking
CreateFile()
CloseHandle()
WriteFile()
CreateFile()
CloseHandle()
WriteFile()
소켓
RPC
COM/DCOM
참조 사이트:
RPC
COM/DCOM
참조 사이트:
http://www.debuglab.com/knowledge/atom.html
http://myfile.hanafos.com/~kukdas/doc/mfc/ipc2.html
http://myfile.hanafos.com/~kukdas/doc/mfc/ipc.html
http://serious-code.net/moin.cgi/IPC
http://msdn.microsoft.com/en-us/library/ms682499%28v=VS.85%29.aspx
http://myfile.hanafos.com/~kukdas/doc/mfc/ipc2.html
http://myfile.hanafos.com/~kukdas/doc/mfc/ipc.html
http://serious-code.net/moin.cgi/IPC
http://msdn.microsoft.com/en-us/library/ms682499%28v=VS.85%29.aspx