RegisterServiceRoutine 方法注册在发生中断时要调用的中断服务例程(ISR)。
语法
NTSTATUS RegisterServiceRoutine(
[in] PINTERRUPTSYNCROUTINE Routine,
[in] PVOID DynamicContext,
[in] BOOLEAN First
);
参数
[in] Routine
指向要调用的例程的指针。 此参数是 PINTERRUPTSYNCROUTINE 类型的函数指针(请参阅 IInterruptSync)。
[in] DynamicContext
指定在调用例程时传递给例程的上下文值。
[in] First
指定是否在 ISR 列表的头或尾添加例程。 如果 TRUE,则会在列表的头添加例程。 如果 FALSE,则会将其添加到尾部。
返回值
如果调用成功,RegisterServiceRoutine 返回STATUS_SUCCESS。 否则,该方法将返回适当的错误代码。
言论
此方法将指定的例程添加到同步对象的 ISR 列表中。 发生中断时,首先调用列表头上的例程,最后调用尾部的例程。
要求
| 要求 | 价值 |
|---|---|
| 目标平台 | 普遍 |
| 标头 | portcls.h (包括 Portcls.h) |
| IRQL | PASSIVE_LEVEL |