00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackShmMem_WIN32__
00021 #define __JackShmMem_WIN32__
00022
00023 #include <windows.h>
00024
00025 inline bool CHECK_MLOCK(void* ptr, size_t size)
00026 {
00027 if (!VirtualLock((ptr), (size))) {
00028 SIZE_T minWSS, maxWSS;
00029 HANDLE hProc = GetCurrentProcess();
00030 if (GetProcessWorkingSetSize(hProc, &minWSS, &maxWSS)) {
00031 const size_t increase = size + (10 * 4096);
00032 maxWSS += increase;
00033 minWSS += increase;
00034 if (!SetProcessWorkingSetSize(hProc, minWSS, maxWSS)) {
00035 jack_error("SetProcessWorkingSetSize error = %d", GetLastError());
00036 return false;
00037 } else if (!VirtualLock((ptr), (size))) {
00038 jack_error("VirtualLock error = %d", GetLastError());
00039 return false;
00040 } else {
00041 return true;
00042 }
00043 } else {
00044 return false;
00045 }
00046 } else {
00047 return true;
00048 }
00049 }
00050
00051 #define CHECK_MUNLOCK(ptr, size) (VirtualUnlock((ptr), (size)) != 0)
00052 #define CHECK_MLOCKALL()(false)
00053 #define CHECK_MUNLOCKALL()(false)
00054
00055 #endif
00056