mirror of
https://github.com/BeneficialCode/WinArk.git
synced 2026-10-18 13:41:03 +08:00
20 lines
388 B
C++
20 lines
388 B
C++
#pragma once
|
|
|
|
template<typename T>
|
|
struct LookasideList {
|
|
NTSTATUS Init(POOL_TYPE pool, ULONG tag) {
|
|
return ExInitializeLookasideListEx(&m_lookaside, nullptr, nullptr,
|
|
pool, 0, sizeof(T), tag, 0);
|
|
}
|
|
|
|
void Delete() {
|
|
ExDeleteLookasideListEx(&m_lookaside);
|
|
}
|
|
|
|
T* Alloc() {
|
|
return (T*)ExAllocateFromLookasideListEx(&m_lookaside);
|
|
}
|
|
|
|
private:
|
|
LOOKASIDE_LIST_EX m_lookaside;
|
|
}; |