반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Archives
Today
Total
관리 메뉴

폴크(FOLC)

데이터 공유 방법 ( 동일 PC ) 본문

C, C++, MFC/C, C++, MFC 테크닉

데이터 공유 방법 ( 동일 PC )

folcjin 2023. 5. 12. 20:10
728x90
반응형

# 일반적으로 프로세스간의 데이터를 공유하는 방법
-> IPC : Inter-Process Communication
- 윈도우 메시지 전달 방법
- TCP/IP 통신 이용 방법
- 공유 메모리 이용 방법
- 공유 파일 이용 방법
- 등등

# 2개의 서로 다른 프로세스에서 특정한 데이터를 공유 하고자 하는 경우에 이용한다.
-> 공유 메모리 이용 방법
-> WinAPI ( CreateFileMapping[생성], OpenFileMapping[연결], UnmapViewOfFile[해제] ) 함수를 이용

# 소스 코드
#define SHARED_MEM_NAME _T("shared_mem_test")

struct SHAREDMEMDATA
{
   int AAA;
   int BBB;
};

- 생성
m_hHandle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(SHAREDMEMDATA), SHARED_MEM_NAME);
if (m_hHandle)
{
m_pSharedMemData = (SHAREDMEMDATA*)MapViewOfFile(m_hHandle, FILE_MAP_ALL_ACCESS, 0, 0, sizeof(SHAREDMEMDATA));
}

- 연결
m_hHandle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, SHARED_MEM_NAME);
if (m_hHandle)
{
   m_pSharedMemData = (SHAREDMEMDATA*)MapViewOfFile(m_hHandle, FILE_MAP_ALL_ACCESS, 0, 0, sizeof(SHAREDMEMDATA));
}

- 해제
if (UnmapViewOfFile(m_pSharedMemData) == TRUE)
{
   CloseHandle(m_hHandle);
}

- 읽고/쓰기
m_pSharedMemData->AAA = 0;
int ccc = m_pSharedMemData->BBB = 0;

728x90
반응형
사업자 정보 표시
사업자 등록번호 : -- | TEL : --