Windows 内核模式定时器

Windows 内核模式定时器,windows,timer,kernel,driver,mode,Windows,Timer,Kernel,Driver,Mode,如何在内核模式下设置计时器,以便在Windows XP及更高版本上几乎每秒调用驱动程序中的指定函数?我应该能够使用函数中的所有函数(特别是ZwQuerySystemInformation)。我不需要高分辨率计时器或毫秒精度之类的东西,我只需要一种方法来安排函数在内核模式下每秒运行一次,并且它必须在所有32位系统windows xp及更高版本上工作。通过创建内核计时器。 设置计时器,并使用1s的时间段。 在驱动程序中创建一个线程。 在线程中,调用等待计时器,返回后调用函数。 重复。您可以在线程中的

如何在内核模式下设置计时器,以便在Windows XP及更高版本上几乎每秒调用驱动程序中的指定函数?我应该能够使用函数中的所有函数(特别是ZwQuerySystemInformation)。我不需要高分辨率计时器或毫秒精度之类的东西,我只需要一种方法来安排函数在内核模式下每秒运行一次,并且它必须在所有32位系统windows xp及更高版本上工作。

通过创建内核计时器。
设置计时器,并使用1s的时间段。
在驱动程序中创建一个线程。
在线程中,调用等待计时器,返回后调用函数。

重复。

您可以在线程中的循环内使用。

您也可以使用dpc对象在计时器过期时获取调度级别的回调,而不是浪费线程。只需将其作为KeSetTimerEx的dpc参数传递即可