init
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#include "Driver.h"
|
||||
|
||||
#include "driver_func.h"
|
||||
|
||||
Driver* Driver::instance = nullptr;
|
||||
auto Driver::fn_get_instance() -> Driver*
|
||||
{
|
||||
if (!instance) {
|
||||
|
||||
instance = new Driver;
|
||||
driver_func::init();
|
||||
}
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
auto Driver::driver_install() -> BOOL
|
||||
{
|
||||
if (!is_driver_load())
|
||||
{
|
||||
if (driver_func::kdmaper_load_driver())
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
auto Driver::is_driver_load() -> BOOL
|
||||
{
|
||||
NTSTATUS status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
CMD_COMM data;
|
||||
data.CommID = DRIVER_COOM_TYPE::DRIVER_COMM_TEST;
|
||||
data.status = (DWORD64)&status;
|
||||
|
||||
driver_func::driver_comm_func(&data, sizeof(data));
|
||||
|
||||
return NT_SUCCESS(status);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user