#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(PDWORD status) -> BOOL { if (!is_driver_load()) { if (driver_func::kdmaper_load_driver(status)) { 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); }