#pragma once #include #include namespace impl { struct unique_pool { void operator( )( void* pool ) { if ( pool ) ExFreePoolWithTag( pool, 0 ); } }; using pool = std::unique_ptr; struct unique_object { void operator( )( void* object ) { if ( object ) ObfDereferenceObject( object ); } }; template using object = std::unique_ptr, unique_object>; }