提供 CustomTimerDpc 上下文信息
传递给 KeInitializeDpc 的 DeferredContext 指针指向其他驱动程序例程和 CustomTimerDpc 例程本身可以维护状态的上下文区域。 内核在每次调用 DPC 例程时传递 DeferredContext 指针。
与 IoTimer 例程不同, CustomTimerDpc 与驱动程序创建的设备对象没有特定的关联。 但是,驱动程序可以通过在其上下文区域中包括指向设备对象的指针,将 CustomTimerDpc 例程与驱动程序创建的设备对象相关联。
上下文区域必须位于驱动程序分配的驻留内存中。 通常,此上下文区域位于设备扩展中,但也可能位于非分页池中。 如果驱动程序使用控制器对象,它可以位于控制器扩展中。 上下文区域的内容由驱动程序确定。
如果 CustomTimerDpc 例程与驱动程序的 ISR 共享上下文信息, 则 CustomTimerDpc 例程必须使用 KeSynchronizeExecution 来调用访问共享上下文的 SynchCritSection 例程。 有关详细信息,请参阅 使用关键部分。
如果 CustomTimerDpc 与其他非 ISR 驱动程序例程共享上下文信息,则 DeferredContext 中的区域必须受到执行旋转锁的保护。 有关详细信息,请参阅 旋转锁。