mirror of
https://github.com/jamesstringer90/appsandbox.git
synced 2026-10-21 10:40:25 -05:00
68 lines
960 B
C++
68 lines
960 B
C++
#pragma warning (disable : 4127)
|
|
|
|
#include "driverdefs.h"
|
|
|
|
#ifdef _NEW_DELETE_OPERATORS_
|
|
|
|
#pragma code_seg()
|
|
PVOID operator new
|
|
(
|
|
size_t iSize,
|
|
POOL_FLAGS poolFlags,
|
|
ULONG tag
|
|
)
|
|
{
|
|
return ExAllocatePool2(poolFlags, iSize, tag);
|
|
}
|
|
|
|
#pragma code_seg()
|
|
PVOID operator new
|
|
(
|
|
size_t iSize,
|
|
POOL_FLAGS poolFlags
|
|
)
|
|
{
|
|
return ExAllocatePool2(poolFlags, iSize, VAD_ADAPTER_POOLTAG);
|
|
}
|
|
|
|
#pragma code_seg()
|
|
void __cdecl operator delete
|
|
(
|
|
PVOID pVoid,
|
|
ULONG tag
|
|
)
|
|
{
|
|
if (pVoid)
|
|
{
|
|
ExFreePoolWithTag(pVoid, tag);
|
|
}
|
|
}
|
|
|
|
#pragma code_seg()
|
|
void __cdecl operator delete
|
|
(
|
|
_Pre_maybenull_ __drv_freesMem(Mem) PVOID pVoid,
|
|
_In_ size_t cbSize
|
|
)
|
|
{
|
|
UNREFERENCED_PARAMETER(cbSize);
|
|
if (pVoid)
|
|
{
|
|
ExFreePool(pVoid);
|
|
}
|
|
}
|
|
|
|
#pragma code_seg()
|
|
void __cdecl operator delete[]
|
|
(
|
|
PVOID pVoid
|
|
)
|
|
{
|
|
if (pVoid)
|
|
{
|
|
ExFreePool(pVoid);
|
|
}
|
|
}
|
|
|
|
#endif // _NEW_DELETE_OPERATORS_
|