void Timer_ConfigureInterrupt(void) { SetInterruptHandler(); ConfigureInterruptSourceModeRegister(); ClearInterrupt(); EnableCompareInterruptForRegisterC(); }
static NTSTATUS NTAPI DriverUnload(PDRIVER_OBJECT DriverObject) { KeSetEvent(&g_ShutdownEvent,0,FALSE); if (g_BruteforcerThread) { DbgPrint("waiting for the bruteforcer shutdown...\n"); KeWaitForSingleObject(g_BruteforcerThread, Executive, KernelMode, FALSE, NULL); } // restore SW's page fault handler SetInterruptHandler(0x0E,g_Int0EHandler,0x8e); // free hidden pages list FreeDoubleLinkedList(&g_HiddenPages); DbgPrint("Shadow Walker remover unloaded\n"); return STATUS_SUCCESS; }