如何用标准C语言创建出共享内存?
来源:百度知道 编辑:UC知道 时间:2024/06/27 10:13:52
CPEHelper::CPEHelper(PCSTR lpFileName)
{
hFile = INVALID_HANDLE_VALUE;
hFile = CreateFileA( lpFileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
}
CPEHelper::CPEHelper(PCWSTR lpFileName)
{
hFile = INVALID_HANDLE_VALUE;
hFile = CreateFileW( lpFileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
}
bool CPEHelper::operator !()
{
if (hFile == INVALID_HANDLE_VALUE)
return true;
return false;
}
CPEHelper::~CPEHelper(void)
{
if(hFile != INVALID_HANDLE_VALUE)
CloseHandle(hFile);
}
bool CPEHelper::MappingFile()
{
hMapFile = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0,NULL);
if (hMapFile == NULL)
return false;
lpMapAddress = MapViewOfFile(hMapFile,FILE_MAP_READ,0,0,0);
if (lpMapAddress == NULL)
return false;