memory mapping老是失败,求教与高人!
两个进程之间通讯,用的windows的memory mapping,
CreateFileMapping经常会失败,返回错误值是“拒绝访问”
不知哪位老大遇到过这个问题,恳请帮忙!
例如这样的code:
GetSystemInfo(&sinf);
memblock = sinf.dwAllocationGranularity;
size = memblock * (1 + (memory_size - 1) / memblock);
/*
* create a NULL DACL (you can reference to
* http://www.google.com/search?q=NULL+DACL)
*/
InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(&sd,TRUE,NULL,FALSE);
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = TRUE;
sa.lpSecurityDescriptor = &sd;
hShareMem = CreateFileMapping ((HANDLE)0xFFFFFFFF,
&sa,
PAGE_READWRITE,
0,
/*size*/memory_size,
(LPCTSTR)share_memory_name);