| 964 | } |
| 965 | |
| 966 | void BTCpuNotifyMemoryAlloc(void* Address, SIZE_T Size, ULONG Type, ULONG Prot, BOOL After, ULONG Status) { |
| 967 | if (!After) { |
| 968 | ThreadCreationMutex.lock(); |
| 969 | } else { |
| 970 | // MEM_RESET(_UNDO) ignores the passed permissions |
| 971 | if (!Status && !(Type & (MEM_RESET | MEM_RESET_UNDO))) { |
| 972 | InvalidationTracker->HandleMemoryProtectionNotification(reinterpret_cast<uint64_t>(Address), static_cast<uint64_t>(Size), Prot); |
| 973 | } |
| 974 | ThreadCreationMutex.unlock(); |
| 975 | } |
| 976 | } |
| 977 | |
| 978 | void BTCpuNotifyMemoryProtect(void* Address, SIZE_T Size, ULONG NewProt, BOOL After, ULONG Status) { |
| 979 | if (!After) { |
nothing calls this directly
no test coverage detected