diff options
Diffstat (limited to 'video/KMDOD/bdd.hxx')
| -rw-r--r-- | video/KMDOD/bdd.hxx | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/video/KMDOD/bdd.hxx b/video/KMDOD/bdd.hxx index 61c40e03..8fd3cdbb 100644 --- a/video/KMDOD/bdd.hxx +++ b/video/KMDOD/bdd.hxx @@ -626,18 +626,20 @@ IsEdidChecksumValid(_In_reads_bytes_(EDID_V1_BLOCK_SIZE) const BYTE* pEdid); // Memory handling // +enum class BDD_POOL_TYPE +{ + Paged, + NonPaged +}; + // Defaulting the value of PoolType means that any call to new Foo() // will raise a compiler error for being ambiguous. This is to help keep // any calls to allocate memory from accidentally NOT going through // these functions. -_When_((PoolType & NonPagedPoolMustSucceed) != 0, - __drv_reportError("Must succeed pool allocations are forbidden. " - "Allocation failures cause a system crash")) -void* __cdecl operator new(size_t Size, POOL_TYPE PoolType = PagedPool); -_When_((PoolType & NonPagedPoolMustSucceed) != 0, - __drv_reportError("Must succeed pool allocations are forbidden. " - "Allocation failures cause a system crash")) -void* __cdecl operator new[](size_t Size, POOL_TYPE PoolType = PagedPool); +void* __cdecl operator new(size_t Size, BDD_POOL_TYPE PoolType = BDD_POOL_TYPE::Paged); +void* __cdecl operator new[](size_t Size, BDD_POOL_TYPE PoolType = BDD_POOL_TYPE::Paged); +void __cdecl operator delete(void* pObject, BDD_POOL_TYPE PoolType); +void __cdecl operator delete[](void* pObject, BDD_POOL_TYPE PoolType); void __cdecl operator delete(void* pObject); void __cdecl operator delete(void* pObject, size_t s); void __cdecl operator delete[](void* pObject); |
