BOOL CreateSharedMem(int size)
{
	// handle to file mapping
	hMapObject = CreateFileMapping(
					 (HANDLE)0xFFFFFFFF,     // use paging file
					 NULL,                   // no security attributes
					 PAGE_READWRITE,         // read/write access
					 0,                      // size: high 32-bits
					 size,                   // size: low 32-bits
					 BBLEANSKIN_SHMEMID      // name of map object
				 );

	if (hMapObject && GetLastError() != ERROR_ALREADY_EXISTS)
	{
		// Get a pointer to the file-mapped shared memory.
		lpvMem = (SkinStruct *)MapViewOfFile(
					 hMapObject,     // object to map view of
					 FILE_MAP_WRITE, // read/write access
					 0,              // high offset:  map from
					 0,              // low offset:   beginning
					 0);             // default: map entire file
		if (lpvMem)
		{
			ZeroMemory(lpvMem, size);
			return TRUE;
		}
	}
	DestroySharedMem();
	return FALSE;
}
void free_exclusion_list(void)
{
	DestroySharedMem();
}
示例#3
0
int DestroyServer()
{
	int res = (DestroySystemEvents() || DestroySharedMem());

	return res;
}
示例#4
0
int DestroyClient()
{
	int res = (DestroySystemEvents() || DestroyMutexes() || DestroySharedMem());

	return res;
}