commit x64 compilation from lulu cause the other branch dont seems to compile properly at home

This commit is contained in:
2026-07-17 16:08:20 +02:00
parent c0f3eeb00d
commit 0efa4ee6f7
625 changed files with 117283 additions and 4426 deletions

View File

@ -0,0 +1,48 @@
#include "mmf.h"
/**
*/
CMMF::CMMF(LPCTSTR MMFName, int size, LPCTSTR mutexName) :
m_nSize(size),
m_hMutex(0)
{
m_hFileMapping = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, m_nSize, MMFName);
m_pSharedData = MapViewOfFile(m_hFileMapping, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, 0);
if(mutexName != NULL)
m_hMutex = CreateMutex(NULL, FALSE, mutexName);
}
/**
*/
CMMF::~CMMF(void)
{
UnmapViewOfFile(m_pSharedData);
CloseHandle(m_hFileMapping);
if(m_hMutex)
CloseHandle(m_hMutex);
}
/**
* Copies the current contents of the MMF into pData (buffer must be big enough to receive m_nSize bytes).
* Waits for locked mutex to be released if mutex name was specified during construction.
*/
void CMMF::Read(void* pData, bool read /* = TRUE */)
{
if(m_hMutex)
WaitForSingleObject(m_hMutex, INFINITE);
memcpy(read ? pData : m_pSharedData, read ? m_pSharedData : pData, m_nSize);
if(m_hMutex)
ReleaseMutex( m_hMutex );
}
/**
* Copies the contents of pData into the MMF, waiting for the MMF lock to be released if applicable.
*/
void CMMF::Write(void* pData)
{
Read(pData, false);
}