microsoft365microsoftmassgravelmassgravewindows-11kms38windows-10kmswindowshwidpowershellactivatorohookoffice365office
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
462 B
29 lines
462 B
#pragma once |
|
#include <memory> |
|
#include <ntifs.h> |
|
|
|
namespace impl |
|
{ |
|
struct unique_pool |
|
{ |
|
void operator( )( void* pool ) |
|
{ |
|
if ( pool ) |
|
ExFreePoolWithTag( pool, 0 ); |
|
} |
|
}; |
|
|
|
using pool = std::unique_ptr<void, unique_pool>; |
|
|
|
struct unique_object |
|
{ |
|
void operator( )( void* object ) |
|
{ |
|
if ( object ) |
|
ObfDereferenceObject( object ); |
|
} |
|
}; |
|
|
|
template <typename T> |
|
using object = std::unique_ptr<std::remove_pointer_t<T>, unique_object>; |
|
}
|
|
|