| | |
| | | |
| | | CDitGlassRawServer::~CDitGlassRawServer(void) |
| | | { |
| | | delete m_pGlassRawData; |
| | | delete m_pGlassRawInfo; |
| | | |
| | | if (m_hMapBasicInfo!=NULL) |
| | | { |
| | | ::UnmapViewOfFile(m_hMapBasicInfo); |
| | |
| | | |
| | | BOOL CDitGlassRawServer::CreateGlassRawInfo() |
| | | { |
| | | if(m_hMapBasicInfo == NULL) |
| | | { |
| | | BOOL bCreateMem = TRUE; |
| | | |
| | | m_hMapBasicInfo = ::CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE |
| | | , 0, sizeof(_grmDitGlassRawInfo), SHAREDMEMNAME_BASICINFO); |
| | | |
| | | if (::GetLastError() == ERROR_ALREADY_EXISTS) |
| | | { |
| | | m_hMapBasicInfo = ::OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,SHAREDMEMNAME_BASICINFO); |
| | | bCreateMem = FALSE; |
| | | } |
| | | |
| | | if (m_hMapBasicInfo) |
| | | { |
| | | m_pGlassRawInfo = (_grmDitGlassRawInfo*)::MapViewOfFile(m_hMapBasicInfo, FILE_MAP_ALL_ACCESS, 0, 0, sizeof(_grmDitGlassRawInfo)); |
| | | } |
| | | |
| | | if(m_hMapBasicInfo == NULL || m_pGlassRawInfo == NULL) |
| | | { |
| | | if (m_hMapBasicInfo!=NULL) |
| | | { |
| | | ::UnmapViewOfFile(m_hMapBasicInfo); |
| | | m_pGlassRawInfo = NULL; |
| | | } |
| | | m_pGlassRawInfo = NULL; |
| | | return FALSE; |
| | | } |
| | | // if(m_hMapBasicInfo == NULL) |
| | | // { |
| | | // BOOL bCreateMem = TRUE; |
| | | // |
| | | // m_hMapBasicInfo = ::CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE |
| | | // , 0, sizeof(_grmDitGlassRawInfo), SHAREDMEMNAME_BASICINFO); |
| | | // |
| | | // if (::GetLastError() == ERROR_ALREADY_EXISTS) |
| | | // { |
| | | // m_hMapBasicInfo = ::OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,SHAREDMEMNAME_BASICINFO); |
| | | // bCreateMem = FALSE; |
| | | // } |
| | | // |
| | | // if (m_hMapBasicInfo) |
| | | // { |
| | | // m_pGlassRawInfo = (_grmDitGlassRawInfo*)::MapViewOfFile(m_hMapBasicInfo, FILE_MAP_ALL_ACCESS, 0, 0, sizeof(_grmDitGlassRawInfo)); |
| | | // } |
| | | // |
| | | // if(m_hMapBasicInfo == NULL || m_pGlassRawInfo == NULL) |
| | | // { |
| | | // if (m_hMapBasicInfo!=NULL) |
| | | // { |
| | | // ::UnmapViewOfFile(m_hMapBasicInfo); |
| | | // m_pGlassRawInfo = NULL; |
| | | // } |
| | | // m_pGlassRawInfo = NULL; |
| | | // return FALSE; |
| | | // } |
| | | |
| | | //0으로 초기화 |
| | | if(bCreateMem && m_pGlassRawInfo) |
| | | //if(bCreateMem && m_pGlassRawInfo) |
| | | //_grmDitGlassRawInfo SemiServer; |
| | | m_pGlassRawInfo = new _grmDitGlassRawInfo; |
| | | if (m_pGlassRawInfo) |
| | | { |
| | | ZeroMemory(m_pGlassRawInfo,sizeof(_grmDitGlassRawInfo)); |
| | | |
| | |
| | | int bytealign = m_pGlassRawInfo->m_nSizeOfGlassData%4; |
| | | } |
| | | |
| | | } |
| | | //} |
| | | |
| | | |
| | | |
| | |
| | | |
| | | BOOL CDitGlassRawServer::CreateGlassRawData() |
| | | { |
| | | int nGlassRawSharedSize = (int)(m_pGlassRawInfo->m_nGlassRawDataSize); |
| | | |
| | | if(m_hMapGlassData == NULL) |
| | | { |
| | | BOOL bCreateMem = TRUE; |
| | | |
| | | m_hMapGlassData = ::CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE |
| | | , 0, nGlassRawSharedSize, SHAREDMEMNAME_GLASSDATA); |
| | | |
| | | if (::GetLastError() == ERROR_ALREADY_EXISTS) |
| | | { |
| | | m_hMapGlassData = ::OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,SHAREDMEMNAME_GLASSDATA); |
| | | bCreateMem = FALSE; |
| | | } |
| | | |
| | | if (m_hMapGlassData) |
| | | { |
| | | m_pGlassRawData = (char*)::MapViewOfFile(m_hMapGlassData, FILE_MAP_ALL_ACCESS, 0, 0, nGlassRawSharedSize); |
| | | } |
| | | |
| | | if(m_hMapGlassData == NULL || m_pGlassRawData == NULL) |
| | | { |
| | | if (m_hMapGlassData != NULL) |
| | | { |
| | | ::UnmapViewOfFile(m_hMapGlassData); |
| | | m_pGlassRawData = NULL; |
| | | } |
| | | m_pGlassRawData = NULL; |
| | | return FALSE; |
| | | } |
| | | |
| | | //0으로 초기화 |
| | | if(bCreateMem && m_pGlassRawData) ZeroMemory(m_pGlassRawData,sizeof(char)*nGlassRawSharedSize); |
| | | } |
| | | int nGlassRawSharedSize = (int)(m_pGlassRawInfo->m_nGlassRawDataSize); |
| | | // |
| | | // if(m_hMapGlassData == NULL) |
| | | // { |
| | | // BOOL bCreateMem = TRUE; |
| | | // |
| | | // m_hMapGlassData = ::CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE |
| | | // , 0, nGlassRawSharedSize, SHAREDMEMNAME_GLASSDATA); |
| | | // |
| | | // if (::GetLastError() == ERROR_ALREADY_EXISTS) |
| | | // { |
| | | // m_hMapGlassData = ::OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,SHAREDMEMNAME_GLASSDATA); |
| | | // bCreateMem = FALSE; |
| | | // } |
| | | // |
| | | // if (m_hMapGlassData) |
| | | // { |
| | | // m_pGlassRawData = (char*)::MapViewOfFile(m_hMapGlassData, FILE_MAP_ALL_ACCESS, 0, 0, nGlassRawSharedSize); |
| | | // } |
| | | // |
| | | // if(m_hMapGlassData == NULL || m_pGlassRawData == NULL) |
| | | // { |
| | | // if (m_hMapGlassData != NULL) |
| | | // { |
| | | // ::UnmapViewOfFile(m_hMapGlassData); |
| | | // m_pGlassRawData = NULL; |
| | | // } |
| | | // m_pGlassRawData = NULL; |
| | | // return FALSE; |
| | | // } |
| | | // |
| | | // //0으로 초기화 |
| | | // if(bCreateMem && m_pGlassRawData) ZeroMemory(m_pGlassRawData,sizeof(char)*nGlassRawSharedSize); |
| | | // } |
| | | |
| | | |
| | | //0으로 초기화 |
| | | m_pGlassRawData = new char[nGlassRawSharedSize]; |
| | | if(m_pGlassRawData) |
| | | ZeroMemory(m_pGlassRawData,sizeof(char)*nGlassRawSharedSize); |
| | | |
| | | m_pGlassData = (_grmGlassData*)&m_pGlassRawData[m_pGlassRawInfo->m_nGlassDataPoint]; |
| | | m_pBlockData = (_grmBlockData*)&m_pGlassRawData[m_pGlassRawInfo->m_nBlockDataPoint]; |
| | | m_pCellData = (_grmCellData*)&m_pGlassRawData[m_pGlassRawInfo->m_nCellDataPoint]; |